home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Magazine / Morphos / GCC / ppc-amigaos / include / gl / gl.h < prev    next >
C/C++ Source or Header  |  1999-02-04  |  77KB  |  2,067 lines

  1. /* $Id: gl.h,v 3.19 1998/07/31 03:23:36 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  3.0
  6.  * Copyright (C) 1995-1998  Brian Paul
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25.  * $Log: gl.h,v $
  26.  * Revision 3.19  1998/07/31 03:23:36  brianp
  27.  * Added Ted Jump's latest Win32 changes
  28.  *
  29.  * Revision 3.18  1998/07/26 03:10:28  brianp
  30.  * added defines for non-Windows compilation!
  31.  *
  32.  * Revision 3.17  1998/07/26 01:38:39  brianp
  33.  * updated for Windows compilation per Ted Jump
  34.  *
  35.  * Revision 3.16  1998/07/18 02:43:07  brianp
  36.  * added missing enums: GL_SELECTION_BUFFER_POINTER, GL_SELECTION_BUFFER_SIZE
  37.  * added missing enums: GL_TEXTURE_INTERNAL_FORMAT
  38.  *
  39.  * Revision 3.15  1998/06/07 22:17:58  brianp
  40.  * added GL_EXT_multitexture extension
  41.  *
  42.  * Revision 3.14  1998/04/01 03:01:20  brianp
  43.  * added void parameter to glResizeBuffersMESA()
  44.  *
  45.  * Revision 3.13  1998/03/19 02:03:51  brianp
  46.  * added GL_SGIS_texture_edge_clamp
  47.  *
  48.  * Revision 3.12  1998/03/15 18:48:55  brianp
  49.  * added GL_EXT_abgr extension
  50.  *
  51.  * Revision 3.11  1998/02/28 15:15:05  brianp
  52.  * added official enum values for some constants
  53.  *
  54.  * Revision 3.10  1998/02/20 04:54:45  brianp
  55.  * implemented GL_SGIS_multitexture
  56.  *
  57.  * Revision 3.9  1998/02/10 03:31:31  brianp
  58.  * added static Win32 lib support (Theodore Jump)
  59.  *
  60.  * Revision 3.8  1998/02/06 01:57:42  brianp
  61.  * added GL 1.2 3-D texture enums and functions
  62.  *
  63.  * Revision 3.7  1998/02/03 04:27:54  brianp
  64.  * added texture lod clamping
  65.  *
  66.  * Revision 3.6  1998/02/02 03:09:34  brianp
  67.  * added GL_LIGHT_MODEL_COLOR_CONTROL (separate specular color interpolation)
  68.  *
  69.  * Revision 3.5  1998/02/01 22:29:09  brianp
  70.  * added support for packed pixel formats
  71.  *
  72.  * Revision 3.4  1998/02/01 20:47:42  brianp
  73.  * added GL_BGR and GL_BGRA pixel formats
  74.  *
  75.  * Revision 3.3  1998/02/01 20:05:10  brianp
  76.  * added glDrawRangeElements()
  77.  *
  78.  * Revision 3.2  1998/02/01 19:39:36  brianp
  79.  * added GL_CLAMP_TO_EDGE texture wrap mode
  80.  *
  81.  * Revision 3.1  1998/02/01 16:36:47  brianp
  82.  * added GL_EXT_rescale_normal extension
  83.  *
  84.  * Revision 3.0  1998/02/01 16:03:04  brianp
  85.  * initial rev
  86.  *
  87.  */
  88.  
  89.  
  90. #ifndef GL_H
  91. #define GL_H
  92.  
  93.  
  94. #if defined(USE_MGL_NAMESPACE)
  95. #include "gl_mangle.h"
  96. #endif
  97.  
  98.  
  99. #if defined(__WIN32__) || defined(__CYGWIN32__)
  100. #include <windows.h>
  101. #pragma warning (disable:4273)
  102. #pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
  103. #pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
  104. #pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
  105. #pragma warning( disable : 4013 ) /* 'function' undefined; assuming extern returning int */
  106. #pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
  107. #pragma warning( disable : 4273 ) /* 'identifier' : inconsistent DLL linkage. dllexport assumed */
  108. #if (MESA_WARNQUIET>1)
  109. #       pragma warning( disable : 4146 ) /* unary minus operator applied to unsigned type, result still unsigned */
  110. #endif
  111. #undef APIENTRY
  112. #undef CALLBACK
  113. #undef WINGDIAPI
  114. #define APIENTRY __stdcall
  115. #define CALLBACK __stdcall
  116. #if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
  117. #define WINGDIAPI __declspec(dllexport)
  118. #elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
  119. #define WINGDIAPI __declspec(dllimport)
  120. #else /* for use with static link lib build of Win32 edition only */
  121. #define WINGDIAPI extern
  122. #endif /* _STATIC_MESA support */
  123.  
  124. #elif defined(__STORM__)
  125. #define WINGDIAPI extern
  126. #undef APIENTRY
  127. #ifndef NOSAVEDS
  128. #define APIENTRY __saveds
  129. #else
  130. #define APIENTRY
  131. #endif
  132. #define CALLBACK
  133. #define WINAPI
  134.  
  135. #else
  136. /* non-Windows compilation */
  137. #define WINGDIAPI extern
  138. #undef APIENTRY
  139. #define APIENTRY
  140. #define CALLBACK
  141. #define WINAPI
  142. #endif /* WIN32 / CYGWIN32 bracket */
  143.  
  144.  
  145. #ifdef __cplusplus
  146. extern "C" {
  147. #endif
  148.  
  149.  
  150. #ifdef macintosh
  151.     #pragma enumsalwaysint on
  152.     #if PRAGMA_IMPORT_SUPPORTED
  153.     #pragma import on
  154.     #endif
  155. #endif
  156.  
  157.  
  158.  
  159. /*
  160.  * Apps can test for this symbol to do conditional compilation if needed.
  161.  */
  162. #define MESA
  163.  
  164. #define MESA_MAJOR_VERSION 3
  165. #define MESA_MINOR_VERSION 0
  166.  
  167.  
  168. #define GL_VERSION_1_1   1
  169. #define GL_VERSION_1_2   1
  170.  
  171.  
  172. /*
  173.  *
  174.  * Enumerations
  175.  *
  176.  */
  177.  
  178. typedef enum {
  179.     /* Boolean values */
  180.     GL_FALSE                        = 0,
  181.     GL_TRUE                         = 1,
  182.  
  183.     /* Data types */
  184.     GL_BYTE                         = 0x1400,
  185.     GL_UNSIGNED_BYTE                = 0x1401,
  186.     GL_SHORT                        = 0x1402,
  187.     GL_UNSIGNED_SHORT               = 0x1403,
  188.     GL_INT                          = 0x1404,
  189.     GL_UNSIGNED_INT                 = 0x1405,
  190.     GL_FLOAT                        = 0x1406,
  191.     GL_DOUBLE                       = 0x140A,
  192.     GL_2_BYTES                      = 0x1407,
  193.     GL_3_BYTES                      = 0x1408,
  194.     GL_4_BYTES                      = 0x1409,
  195.  
  196.     /* Primitives */
  197.     GL_LINES                        = 0x0001,
  198.     GL_POINTS                       = 0x0000,
  199.     GL_LINE_STRIP                   = 0x0003,
  200.     GL_LINE_LOOP                    = 0x0002,
  201.     GL_TRIANGLES                    = 0x0004,
  202.     GL_TRIANGLE_STRIP               = 0x0005,
  203.     GL_TRIANGLE_FAN                 = 0x0006,
  204.     GL_QUADS                        = 0x0007,
  205.     GL_QUAD_STRIP                   = 0x0008,
  206.     GL_POLYGON                      = 0x0009,
  207.     GL_EDGE_FLAG                    = 0x0B43,
  208.  
  209.     /* Vertex Arrays */
  210.     GL_VERTEX_ARRAY                 = 0x8074,
  211.     GL_NORMAL_ARRAY                 = 0x8075,
  212.     GL_COLOR_ARRAY                  = 0x8076,
  213.     GL_INDEX_ARRAY                  = 0x8077,
  214.     GL_TEXTURE_COORD_ARRAY          = 0x8078,
  215.     GL_EDGE_FLAG_ARRAY              = 0x8079,
  216.     GL_VERTEX_ARRAY_SIZE            = 0x807A,
  217.     GL_VERTEX_ARRAY_TYPE            = 0x807B,
  218.     GL_VERTEX_ARRAY_STRIDE          = 0x807C,
  219.     GL_NORMAL_ARRAY_TYPE            = 0x807E,
  220.     GL_NORMAL_ARRAY_STRIDE          = 0x807F,
  221.     GL_COLOR_ARRAY_SIZE             = 0x8081,
  222.     GL_COLOR_ARRAY_TYPE             = 0x8082,
  223.     GL_COLOR_ARRAY_STRIDE           = 0x8083,
  224.     GL_INDEX_ARRAY_TYPE             = 0x8085,
  225.     GL_INDEX_ARRAY_STRIDE           = 0x8086,
  226.     GL_TEXTURE_COORD_ARRAY_SIZE     = 0x8088,
  227.     GL_TEXTURE_COORD_ARRAY_TYPE     = 0x8089,
  228.     GL_TEXTURE_COORD_ARRAY_STRIDE   = 0x808A,
  229.     GL_EDGE_FLAG_ARRAY_STRIDE       = 0x808C,
  230.     GL_VERTEX_ARRAY_POINTER         = 0x808E,
  231.     GL_NORMAL_ARRAY_POINTER         = 0x808F,
  232.     GL_COLOR_ARRAY_POINTER          = 0x8090,
  233.     GL_INDEX_ARRAY_POINTER          = 0x8091,
  234.     GL_TEXTURE_COORD_ARRAY_POINTER  = 0x8092,
  235.     GL_EDGE_FLAG_ARRAY_POINTER      = 0x8093,
  236.     GL_V2F                          = 0x2A20,
  237.     GL_V3F                          = 0x2A21,
  238.     GL_C4UB_V2F                     = 0x2A22,
  239.     GL_C4UB_V3F                     = 0x2A23,
  240.     GL_C3F_V3F                      = 0x2A24,
  241.     GL_N3F_V3F                      = 0x2A25,
  242.     GL_C4F_N3F_V3F                  = 0x2A26,
  243.     GL_T2F_V3F                      = 0x2A27,
  244.     GL_T4F_V4F                      = 0x2A28,
  245.     GL_T2F_C4UB_V3F                 = 0x2A29,
  246.     GL_T2F_C3F_V3F                  = 0x2A2A,
  247.     GL_T2F_N3F_V3F                  = 0x2A2B,
  248.     GL_T2F_C4F_N3F_V3F              = 0x2A2C,
  249.     GL_T4F_C4F_N3F_V4F              = 0x2A2D,
  250.  
  251.     /* Matrix Mode */
  252.     GL_MATRIX_MODE                  = 0x0BA0,
  253.     GL_MODELVIEW                    = 0x1700,
  254.     GL_PROJECTION                   = 0x1701,
  255.     GL_TEXTURE                      = 0x1702,
  256.  
  257.     /* Points */
  258.     GL_POINT_SMOOTH                 = 0x0B10,
  259.     GL_POINT_SIZE                   = 0x0B11,
  260.     GL_POINT_SIZE_GRANULARITY       = 0x0B13,
  261.     GL_POINT_SIZE_RANGE             = 0x0B12,
  262.  
  263.     /* Lines */
  264.     GL_LINE_SMOOTH                  = 0x0B20,
  265.     GL_LINE_STIPPLE                 = 0x0B24,
  266.     GL_LINE_STIPPLE_PATTERN         = 0x0B25,
  267.     GL_LINE_STIPPLE_REPEAT          = 0x0B26,
  268.     GL_LINE_WIDTH                   = 0x0B21,
  269.     GL_LINE_WIDTH_GRANULARITY       = 0x0B23,
  270.     GL_LINE_WIDTH_RANGE             = 0x0B22,
  271.  
  272.     /* Polygons */
  273.     GL_POINT                        = 0x1B00,
  274.     GL_LINE                         = 0x1B01,
  275.     GL_FILL                         = 0x1B02,
  276.     GL_CCW                          = 0x0901,
  277.     GL_CW                           = 0x0900,
  278.     GL_FRONT                        = 0x0404,
  279.     GL_BACK                         = 0x0405,
  280.     GL_CULL_FACE                    = 0x0B44,
  281.     GL_CULL_FACE_MODE               = 0x0B45,
  282.     GL_POLYGON_SMOOTH               = 0x0B41,
  283.     GL_POLYGON_STIPPLE              = 0x0B42,
  284.     GL_FRONT_FACE                   = 0x0B46,
  285.     GL_POLYGON_MODE                 = 0x0B40,
  286.     GL_POLYGON_OFFSET_FACTOR        = 0x8038,
  287.     GL_POLYGON_OFFSET_UNITS         = 0x2A00,
  288.     GL_POLYGON_OFFSET_POINT         = 0x2A01,
  289.     GL_POLYGON_OFFSET_LINE          = 0x2A02,
  290.     GL_POLYGON_OFFSET_FILL          = 0x8037,
  291.  
  292.     /* Display Lists */
  293.     GL_COMPILE                      = 0x1300,
  294.     GL_COMPILE_AND_EXECUTE          = 0x1301,
  295.     GL_LIST_BASE                    = 0x0B32,
  296.     GL_LIST_INDEX                   = 0x0B33,
  297.     GL_LIST_MODE                    = 0x0B30,
  298.  
  299.     /* Depth buffer */
  300.     GL_NEVER                        = 0x0200,
  301.     GL_LESS                         = 0x0201,
  302.     GL_GEQUAL                       = 0x0206,
  303.     GL_LEQUAL                       = 0x0203,
  304.     GL_GREATER                      = 0x0204,
  305.     GL_NOTEQUAL                     = 0x0205,
  306.     GL_EQUAL                        = 0x0202,
  307.     GL_ALWAYS                       = 0x0207,
  308.     GL_DEPTH_TEST                   = 0x0B71,
  309.     GL_DEPTH_BITS                   = 0x0D56,
  310.     GL_DEPTH_CLEAR_VALUE            = 0x0B73,
  311.     GL_DEPTH_FUNC                   = 0x0B74,
  312.     GL_DEPTH_RANGE                  = 0x0B70,
  313.     GL_DEPTH_WRITEMASK              = 0x0B72,
  314.     GL_DEPTH_COMPONENT              = 0x1902,
  315.  
  316.     /* Lighting */
  317.     GL_LIGHTING                     = 0x0B50,
  318.     GL_LIGHT0                       = 0x4000,
  319.     GL_LIGHT1                       = 0x4001,
  320.     GL_LIGHT2                       = 0x4002,
  321.     GL_LIGHT3                       = 0x4003,
  322.     GL_LIGHT4                       = 0x4004,
  323.     GL_LIGHT5                       = 0x4005,
  324.     GL_LIGHT6                       = 0x4006,
  325.     GL_LIGHT7                       = 0x4007,
  326.     GL_SPOT_EXPONENT                = 0x1205,
  327.     GL_SPOT_CUTOFF                  = 0x1206,
  328.     GL_CONSTANT_ATTENUATION         = 0x1207,
  329.     GL_LINEAR_ATTENUATION           = 0x1208,
  330.     GL_QUADRATIC_ATTENUATION        = 0x1209,
  331.     GL_AMBIENT                      = 0x1200,
  332.     GL_DIFFUSE                      = 0x1201,
  333.     GL_SPECULAR                     = 0x1202,
  334.     GL_SHININESS                    = 0x1601,
  335.     GL_EMISSION                     = 0x1600,
  336.     GL_POSITION                     = 0x1203,
  337.     GL_SPOT_DIRECTION               = 0x1204,
  338.     GL_AMBIENT_AND_DIFFUSE          = 0x1602,
  339.     GL_COLOR_INDEXES                = 0x1603,
  340.     GL_LIGHT_MODEL_TWO_SIDE         = 0x0B52,
  341.     GL_LIGHT_MODEL_LOCAL_VIEWER     = 0x0B51,
  342.     GL_LIGHT_MODEL_AMBIENT          = 0x0B53,
  343.     GL_FRONT_AND_BACK               = 0x0408,
  344.     GL_SHADE_MODEL                  = 0x0B54,
  345.     GL_FLAT                         = 0x1D00,
  346.     GL_SMOOTH                       = 0x1D01,
  347.     GL_COLOR_MATERIAL               = 0x0B57,
  348.     GL_COLOR_MATERIAL_FACE          = 0x0B55,
  349.     GL_COLOR_MATERIAL_PARAMETER     = 0x0B56,
  350.     GL_NORMALIZE                    = 0x0BA1,
  351.  
  352.     /* User clipping planes */
  353.     GL_CLIP_PLANE0                  = 0x3000,
  354.     GL_CLIP_PLANE1                  = 0x3001,
  355.     GL_CLIP_PLANE2                  = 0x3002,
  356.     GL_CLIP_PLANE3                  = 0x3003,
  357.     GL_CLIP_PLANE4                  = 0x3004,
  358.     GL_CLIP_PLANE5                  = 0x3005,
  359.  
  360.     /* Accumulation buffer */
  361.     GL_ACCUM_RED_BITS               = 0x0D58,
  362.     GL_ACCUM_GREEN_BITS             = 0x0D59,
  363.     GL_ACCUM_BLUE_BITS              = 0x0D5A,
  364.     GL_ACCUM_ALPHA_BITS             = 0x0D5B,
  365.     GL_ACCUM_CLEAR_VALUE            = 0x0B80,
  366.     GL_ACCUM                        = 0x0100,
  367.     GL_ADD                          = 0x0104,
  368.     GL_LOAD                         = 0x0101,
  369.     GL_MULT                         = 0x0103,
  370.     GL_RETURN                       = 0x0102,
  371.  
  372.     /* Alpha testing */
  373.     GL_ALPHA_TEST                   = 0x0BC0,
  374.     GL_ALPHA_TEST_REF               = 0x0BC2,
  375.     GL_ALPHA_TEST_FUNC              = 0x0BC1,
  376.  
  377.     /* Blending */
  378.     GL_BLEND                        = 0x0BE2,
  379.     GL_BLEND_SRC                    = 0x0BE1,
  380.     GL_BLEND_DST                    = 0x0BE0,
  381.     GL_ZERO                         = 0,
  382.     GL_ONE                          = 1,
  383.     GL_SRC_COLOR                    = 0x0300,
  384.     GL_ONE_MINUS_SRC_COLOR          = 0x0301,
  385.     GL_DST_COLOR                    = 0x0306,
  386.     GL_ONE_MINUS_DST_COLOR          = 0x0307,
  387.     GL_SRC_ALPHA                    = 0x0302,
  388.     GL_ONE_MINUS_SRC_ALPHA          = 0x0303,
  389.     GL_DST_ALPHA                    = 0x0304,
  390.     GL_ONE_MINUS_DST_ALPHA          = 0x0305,
  391.     GL_SRC_ALPHA_SATURATE           = 0x0308,
  392.     GL_CONSTANT_COLOR               = 0x8001,
  393.     GL_ONE_MINUS_CONSTANT_COLOR     = 0x8002,
  394.     GL_CONSTANT_ALPHA               = 0x8003,
  395.     GL_ONE_MINUS_CONSTANT_ALPHA     = 0x8004,
  396.  
  397.     /* Render Mode */
  398.     GL_FEEDBACK                     = 0x1C01,
  399.     GL_RENDER                       = 0x1C00,
  400.     GL_SELECT                       = 0x1C02,
  401.  
  402.     /* Feedback */
  403.     GL_2D                           = 0x0600,
  404.     GL_3D                           = 0x0601,
  405.     GL_3D_COLOR                     = 0x0602,
  406.     GL_3D_COLOR_TEXTURE             = 0x0603,
  407.     GL_4D_COLOR_TEXTURE             = 0x0604,
  408.     GL_POINT_TOKEN                  = 0x0701,
  409.     GL_LINE_TOKEN                   = 0x0702,
  410.     GL_LINE_RESET_TOKEN             = 0x0707,
  411.     GL_POLYGON_TOKEN                = 0x0703,
  412.     GL_BITMAP_TOKEN                 = 0x0704,
  413.     GL_DRAW_PIXEL_TOKEN             = 0x0705,
  414.     GL_COPY_PIXEL_TOKEN             = 0x0706,
  415.     GL_PASS_THROUGH_TOKEN           = 0x0700,
  416.     GL_FEEDBACK_BUFFER_POINTER      = 0x0DF0,
  417.     GL_FEEDBACK_BUFFER_SIZE         = 0x0DF1,
  418.     GL_FEEDBACK_BUFFER_TYPE         = 0x0DF2,
  419.  
  420.     /* Selection */
  421.     GL_SELECTION_BUFFER_POINTER     = 0x0DF3,
  422.     GL_SELECTION_BUFFER_SIZE        = 0x0DF4,
  423.  
  424.     /* Fog */
  425.     GL_FOG                          = 0x0B60,
  426.     GL_FOG_MODE                     = 0x0B65,
  427.     GL_FOG_DENSITY                  = 0x0B62,
  428.     GL_FOG_COLOR                    = 0x0B66,
  429.     GL_FOG_INDEX                    = 0x0B61,
  430.     GL_FOG_START                    = 0x0B63,
  431.     GL_FOG_END                      = 0x0B64,
  432.     GL_LINEAR                       = 0x2601,
  433.     GL_EXP                          = 0x0800,
  434.     GL_EXP2                         = 0x0801,
  435.  
  436.     /* Logic Ops */
  437.     GL_LOGIC_OP                     = 0x0BF1,
  438.     GL_INDEX_LOGIC_OP               = 0x0BF1,
  439.     GL_COLOR_LOGIC_OP               = 0x0BF2,
  440.     GL_LOGIC_OP_MODE                = 0x0BF0,
  441.     GL_CLEAR                        = 0x1500,
  442.     GL_SET                          = 0x150F,
  443.     GL_COPY                         = 0x1503,
  444.     GL_COPY_INVERTED                = 0x150C,
  445.     GL_NOOP                         = 0x1505,
  446.     GL_INVERT                       = 0x150A,
  447.     GL_AND                          = 0x1501,
  448.     GL_NAND                         = 0x150E,
  449.     GL_OR                           = 0x1507,
  450.     GL_NOR                          = 0x1508,
  451.     GL_XOR                          = 0x1506,
  452.     GL_EQUIV                        = 0x1509,
  453.     GL_AND_REVERSE                  = 0x1502,
  454.     GL_AND_INVERTED                 = 0x1504,
  455.     GL_OR_REVERSE                   = 0x150B,
  456.     GL_OR_INVERTED                  = 0x150D,
  457.  
  458.     /* Stencil */
  459.     GL_STENCIL_TEST                 = 0x0B90,
  460.     GL_STENCIL_WRITEMASK            = 0x0B98,
  461.     GL_STENCIL_BITS                 = 0x0D57,
  462.     GL_STENCIL_FUNC                 = 0x0B92,
  463.     GL_STENCIL_VALUE_MASK           = 0x0B93,
  464.     GL_STENCIL_REF                  = 0x0B97,
  465.     GL_STENCIL_FAIL                 = 0x0B94,
  466.     GL_STENCIL_PASS_DEPTH_PASS      = 0x0B96,
  467.     GL_STENCIL_PASS_DEPTH_FAIL      = 0x0B95,
  468.     GL_STENCIL_CLEAR_VALUE          = 0x0B91,
  469.     GL_STENCIL_INDEX                = 0x1901,
  470.     GL_KEEP                         = 0x1E00,
  471.     GL_REPLACE                      = 0x1E01,
  472.     GL_INCR                         = 0x1E02,
  473.     GL_DECR                         = 0x1E03,
  474.  
  475.     /* Buffers, Pixel Drawing/Reading */
  476.     GL_NONE                         = 0,
  477.     GL_LEFT                         = 0x0406,
  478.     GL_RIGHT                        = 0x0407,
  479.     /*GL_FRONT                      = 0x0404, */
  480.     /*GL_BACK                       = 0x0405, */
  481.     /*GL_FRONT_AND_BACK             = 0x0408, */
  482.     GL_FRONT_LEFT                   = 0x0400,
  483.     GL_FRONT_RIGHT                  = 0x0401,
  484.     GL_BACK_LEFT                    = 0x0402,
  485.     GL_BACK_RIGHT                   = 0x0403,
  486.     GL_AUX0                         = 0x0409,
  487.     GL_AUX1                         = 0x040A,
  488.     GL_AUX2                         = 0x040B,
  489.     GL_AUX3                         = 0x040C,
  490.     GL_COLOR_INDEX                  = 0x1900,
  491.     GL_RED                          = 0x1903,
  492.     GL_GREEN                        = 0x1904,
  493.     GL_BLUE                         = 0x1905,
  494.     GL_ALPHA                        = 0x1906,
  495.     GL_LUMINANCE                    = 0x1909,
  496.     GL_LUMINANCE_ALPHA              = 0x190A,
  497.     GL_ALPHA_BITS                   = 0x0D55,
  498.     GL_RED_BITS                     = 0x0D52,
  499.     GL_GREEN_BITS                   = 0x0D53,
  500.     GL_BLUE_BITS                    = 0x0D54,
  501.     GL_INDEX_BITS                   = 0x0D51,
  502.     GL_SUBPIXEL_BITS                = 0x0D50,
  503.     GL_AUX_BUFFERS                  = 0x0C00,
  504.     GL_READ_BUFFER                  = 0x0C02,
  505.     GL_DRAW_BUFFER                  = 0x0C01,
  506.     GL_DOUBLEBUFFER                 = 0x0C32,
  507.     GL_STEREO                       = 0x0C33,
  508.     GL_BITMAP                       = 0x1A00,
  509.     GL_COLOR                        = 0x1800,
  510.     GL_DEPTH                        = 0x1801,
  511.     GL_STENCIL                      = 0x1802,
  512.     GL_DITHER                       = 0x0BD0,
  513.     GL_RGB                          = 0x1907,
  514.     GL_RGBA                         = 0x1908,
  515.  
  516.     /* Implementation limits */
  517.     GL_MAX_LIST_NESTING             = 0x0B31,
  518.     GL_MAX_ATTRIB_STACK_DEPTH       = 0x0D35,
  519.     GL_MAX_MODELVIEW_STACK_DEPTH    = 0x0D36,
  520.     GL_MAX_NAME_STACK_DEPTH         = 0x0D37,
  521.     GL_MAX_PROJECTION_STACK_DEPTH   = 0x0D38,
  522.     GL_MAX_TEXTURE_STACK_DEPTH      = 0x0D39,
  523.     GL_MAX_EVAL_ORDER               = 0x0D30,
  524.     GL_MAX_LIGHTS                   = 0x0D31,
  525.     GL_MAX_CLIP_PLANES              = 0x0D32,
  526.     GL_MAX_TEXTURE_SIZE             = 0x0D33,
  527.     GL_MAX_PIXEL_MAP_TABLE          = 0x0D34,
  528.     GL_MAX_VIEWPORT_DIMS            = 0x0D3A,
  529.     GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
  530.  
  531.     /* Gets */
  532.     GL_ATTRIB_STACK_DEPTH           = 0x0BB0,
  533.     GL_CLIENT_ATTRIB_STACK_DEPTH    = 0x0BB1,
  534.     GL_COLOR_CLEAR_VALUE            = 0x0C22,
  535.     GL_COLOR_WRITEMASK              = 0x0C23,
  536.     GL_CURRENT_INDEX                = 0x0B01,
  537.     GL_CURRENT_COLOR                = 0x0B00,
  538.     GL_CURRENT_NORMAL               = 0x0B02,
  539.     GL_CURRENT_RASTER_COLOR         = 0x0B04,
  540.     GL_CURRENT_RASTER_DISTANCE      = 0x0B09,
  541.     GL_CURRENT_RASTER_INDEX         = 0x0B05,
  542.     GL_CURRENT_RASTER_POSITION      = 0x0B07,
  543.     GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
  544.     GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
  545.     GL_CURRENT_TEXTURE_COORDS       = 0x0B03,
  546.     GL_INDEX_CLEAR_VALUE            = 0x0C20,
  547.     GL_INDEX_MODE                   = 0x0C30,
  548.     GL_INDEX_WRITEMASK              = 0x0C21,
  549.     GL_MODELVIEW_MATRIX             = 0x0BA6,
  550.     GL_MODELVIEW_STACK_DEPTH        = 0x0BA3,
  551.     GL_NAME_STACK_DEPTH             = 0x0D70,
  552.     GL_PROJECTION_MATRIX            = 0x0BA7,
  553.     GL_PROJECTION_STACK_DEPTH       = 0x0BA4,
  554.     GL_RENDER_MODE                  = 0x0C40,
  555.     GL_RGBA_MODE                    = 0x0C31,
  556.     GL_TEXTURE_MATRIX               = 0x0BA8,
  557.     GL_TEXTURE_STACK_DEPTH          = 0x0BA5,
  558.     GL_VIEWPORT                     = 0x0BA2,
  559.  
  560.  
  561.     /* Evaluators */
  562.     GL_AUTO_NORMAL                  = 0x0D80,
  563.     GL_MAP1_COLOR_4                 = 0x0D90,
  564.     GL_MAP1_GRID_DOMAIN             = 0x0DD0,
  565.     GL_MAP1_GRID_SEGMENTS           = 0x0DD1,
  566.     GL_MAP1_INDEX                   = 0x0D91,
  567.     GL_MAP1_NORMAL                  = 0x0D92,
  568.     GL_MAP1_TEXTURE_COORD_1         = 0x0D93,
  569.     GL_MAP1_TEXTURE_COORD_2         = 0x0D94,
  570.     GL_MAP1_TEXTURE_COORD_3         = 0x0D95,
  571.     GL_MAP1_TEXTURE_COORD_4         = 0x0D96,
  572.     GL_MAP1_VERTEX_3                = 0x0D97,
  573.     GL_MAP1_VERTEX_4                = 0x0D98,
  574.     GL_MAP2_COLOR_4                 = 0x0DB0,
  575.     GL_MAP2_GRID_DOMAIN             = 0x0DD2,
  576.     GL_MAP2_GRID_SEGMENTS           = 0x0DD3,
  577.     GL_MAP2_INDEX                   = 0x0DB1,
  578.     GL_MAP2_NORMAL                  = 0x0DB2,
  579.     GL_MAP2_TEXTURE_COORD_1         = 0x0DB3,
  580.     GL_MAP2_TEXTURE_COORD_2         = 0x0DB4,
  581.     GL_MAP2_TEXTURE_COORD_3         = 0x0DB5,
  582.     GL_MAP2_TEXTURE_COORD_4         = 0x0DB6,
  583.     GL_MAP2_VERTEX_3                = 0x0DB7,
  584.     GL_MAP2_VERTEX_4                = 0x0DB8,
  585.     GL_COEFF                        = 0x0A00,
  586.     GL_DOMAIN                       = 0x0A02,
  587.     GL_ORDER                        = 0x0A01,
  588.  
  589.     /* Hints */
  590.     GL_FOG_HINT                     = 0x0C54,
  591.     GL_LINE_SMOOTH_HINT             = 0x0C52,
  592.     GL_PERSPECTIVE_CORRECTION_HINT  = 0x0C50,
  593.     GL_POINT_SMOOTH_HINT            = 0x0C51,
  594.     GL_POLYGON_SMOOTH_HINT          = 0x0C53,
  595.     GL_DONT_CARE                    = 0x1100,
  596.     GL_FASTEST                      = 0x1101,
  597.     GL_NICEST                       = 0x1102,
  598.  
  599.     /* Scissor box */
  600.     GL_SCISSOR_TEST                 = 0x0C11,
  601.     GL_SCISSOR_BOX                  = 0x0C10,
  602.  
  603.     /* Pixel Mode / Transfer */
  604.     GL_MAP_COLOR                    = 0x0D10,
  605.     GL_MAP_STENCIL                  = 0x0D11,
  606.     GL_INDEX_SHIFT                  = 0x0D12,
  607.     GL_INDEX_OFFSET                 = 0x0D13,
  608.     GL_RED_SCALE                    = 0x0D14,
  609.     GL_RED_BIAS                     = 0x0D15,
  610.     GL_GREEN_SCALE                  = 0x0D18,
  611.     GL_GREEN_BIAS                   = 0x0D19,
  612.     GL_BLUE_SCALE                   = 0x0D1A,
  613.     GL_BLUE_BIAS                    = 0x0D1B,
  614.     GL_ALPHA_SCALE                  = 0x0D1C,
  615.     GL_ALPHA_BIAS                   = 0x0D1D,
  616.     GL_DEPTH_SCALE                  = 0x0D1E,
  617.     GL_DEPTH_BIAS                   = 0x0D1F,
  618.     GL_PIXEL_MAP_S_TO_S_SIZE        = 0x0CB1,
  619.     GL_PIXEL_MAP_I_TO_I_SIZE        = 0x0CB0,
  620.     GL_PIXEL_MAP_I_TO_R_SIZE        = 0x0CB2,
  621.     GL_PIXEL_MAP_I_TO_G_SIZE        = 0x0CB3,
  622.     GL_PIXEL_MAP_I_TO_B_SIZE        = 0x0CB4,
  623.     GL_PIXEL_MAP_I_TO_A_SIZE        = 0x0CB5,
  624.     GL_PIXEL_MAP_R_TO_R_SIZE        = 0x0CB6,
  625.     GL_PIXEL_MAP_G_TO_G_SIZE        = 0x0CB7,
  626.     GL_PIXEL_MAP_B_TO_B_SIZE        = 0x0CB8,
  627.     GL_PIXEL_MAP_A_TO_A_SIZE        = 0x0CB9,
  628.     GL_PIXEL_MAP_S_TO_S             = 0x0C71,
  629.     GL_PIXEL_MAP_I_TO_I             = 0x0C70,
  630.     GL_PIXEL_MAP_I_TO_R             = 0x0C72,
  631.     GL_PIXEL_MAP_I_TO_G             = 0x0C73,
  632.     GL_PIXEL_MAP_I_TO_B             = 0x0C74,
  633.     GL_PIXEL_MAP_I_TO_A             = 0x0C75,
  634.     GL_PIXEL_MAP_R_TO_R             = 0x0C76,
  635.     GL_PIXEL_MAP_G_TO_G             = 0x0C77,
  636.     GL_PIXEL_MAP_B_TO_B             = 0x0C78,
  637.     GL_PIXEL_MAP_A_TO_A             = 0x0C79,
  638.     GL_PACK_ALIGNMENT               = 0x0D05,
  639.     GL_PACK_LSB_FIRST               = 0x0D01,
  640.     GL_PACK_ROW_LENGTH              = 0x0D02,
  641.     GL_PACK_SKIP_PIXELS             = 0x0D04,
  642.     GL_PACK_SKIP_ROWS               = 0x0D03,
  643.     GL_PACK_SWAP_BYTES              = 0x0D00,
  644.     GL_UNPACK_ALIGNMENT             = 0x0CF5,
  645.     GL_UNPACK_LSB_FIRST             = 0x0CF1,
  646.     GL_UNPACK_ROW_LENGTH            = 0x0CF2,
  647.     GL_UNPACK_SKIP_PIXELS           = 0x0CF4,
  648.     GL_UNPACK_SKIP_ROWS             = 0x0CF3,
  649.     GL_UNPACK_SWAP_BYTES            = 0x0CF0,
  650.     GL_ZOOM_X                       = 0x0D16,
  651.     GL_ZOOM_Y                       = 0x0D17,
  652.  
  653.     /* Texture mapping */
  654.     GL_TEXTURE_ENV                  = 0x2300,
  655.     GL_TEXTURE_ENV_MODE             = 0x2200,
  656.     GL_TEXTURE_1D                   = 0x0DE0,
  657.     GL_TEXTURE_2D                   = 0x0DE1,
  658.     GL_TEXTURE_WRAP_S               = 0x2802,
  659.     GL_TEXTURE_WRAP_T               = 0x2803,
  660.     GL_TEXTURE_MAG_FILTER           = 0x2800,
  661.     GL_TEXTURE_MIN_FILTER           = 0x2801,
  662.     GL_TEXTURE_ENV_COLOR            = 0x2201,
  663.     GL_TEXTURE_GEN_S                = 0x0C60,
  664.     GL_TEXTURE_GEN_T                = 0x0C61,
  665.     GL_TEXTURE_GEN_MODE             = 0x2500,
  666.     GL_TEXTURE_BORDER_COLOR         = 0x1004,
  667.     GL_TEXTURE_WIDTH                = 0x1000,
  668.     GL_TEXTURE_HEIGHT               = 0x1001,
  669.     GL_TEXTURE_BORDER               = 0x1005,
  670.     GL_TEXTURE_COMPONENTS           = 0x1003,
  671.     GL_TEXTURE_RED_SIZE             = 0x805C,
  672.     GL_TEXTURE_GREEN_SIZE           = 0x805D,
  673.     GL_TEXTURE_BLUE_SIZE            = 0x805E,
  674.     GL_TEXTURE_ALPHA_SIZE           = 0x805F,
  675.     GL_TEXTURE_LUMINANCE_SIZE       = 0x8060,
  676.     GL_TEXTURE_INTENSITY_SIZE       = 0x8061,
  677.     GL_NEAREST_MIPMAP_NEAREST       = 0x2700,
  678.     GL_NEAREST_MIPMAP_LINEAR        = 0x2702,
  679.     GL_LINEAR_MIPMAP_NEAREST        = 0x2701,
  680.     GL_LINEAR_MIPMAP_LINEAR         = 0x2703,
  681.     GL_OBJECT_LINEAR                = 0x2401,
  682.     GL_OBJECT_PLANE                 = 0x2501,
  683.     GL_EYE_LINEAR                   = 0x2400,
  684.     GL_EYE_PLANE                    = 0x2502,
  685.     GL_SPHERE_MAP                   = 0x2402,
  686.     GL_DECAL                        = 0x2101,
  687.     GL_MODULATE                     = 0x2100,
  688.     GL_NEAREST                      = 0x2600,
  689.     GL_REPEAT                       = 0x2901,
  690.     GL_CLAMP                        = 0x2900,
  691.     GL_S                            = 0x2000,
  692.     GL_T                            = 0x2001,
  693.     GL_R                            = 0x2002,
  694.     GL_Q                            = 0x2003,
  695.     GL_TEXTURE_GEN_R                = 0x0C62,
  696.     GL_TEXTURE_GEN_Q                = 0x0C63,
  697.  
  698.     /* GL 1.1 texturing */
  699.     GL_PROXY_TEXTURE_1D             = 0x8063,
  700.     GL_PROXY_TEXTURE_2D             = 0x8064,
  701.     GL_TEXTURE_PRIORITY             = 0x8066,
  702.     GL_TEXTURE_RESIDENT             = 0x8067,
  703.     GL_TEXTURE_BINDING_1D           = 0x8068,
  704.     GL_TEXTURE_BINDING_2D           = 0x8069,
  705.     GL_TEXTURE_INTERNAL_FORMAT      = 0x1003,
  706.  
  707.     /* GL 1.2 texturing */
  708.     GL_PACK_SKIP_IMAGES             = 0x806B,
  709.     GL_PACK_IMAGE_HEIGHT            = 0x806C,
  710.     GL_UNPACK_SKIP_IMAGES           = 0x806D,
  711.     GL_UNPACK_IMAGE_HEIGHT          = 0x806E,
  712.     GL_TEXTURE_3D                   = 0x806F,
  713.     GL_PROXY_TEXTURE_3D             = 0x8070,
  714.     GL_TEXTURE_DEPTH                = 0x8071,
  715.     GL_TEXTURE_WRAP_R               = 0x8072,
  716.     GL_MAX_3D_TEXTURE_SIZE          = 0x8073,
  717.     GL_TEXTURE_BINDING_3D           = 0x806A,
  718.  
  719.     /* Internal texture formats (GL 1.1) */
  720.     GL_ALPHA4                       = 0x803B,
  721.     GL_ALPHA8                       = 0x803C,
  722.     GL_ALPHA12                      = 0x803D,
  723.     GL_ALPHA16                      = 0x803E,
  724.     GL_LUMINANCE4                   = 0x803F,
  725.     GL_LUMINANCE8                   = 0x8040,
  726.     GL_LUMINANCE12                  = 0x8041,
  727.     GL_LUMINANCE16                  = 0x8042,
  728.     GL_LUMINANCE4_ALPHA4            = 0x8043,
  729.     GL_LUMINANCE6_ALPHA2            = 0x8044,
  730.     GL_LUMINANCE8_ALPHA8            = 0x8045,
  731.     GL_LUMINANCE12_ALPHA4           = 0x8046,
  732.     GL_LUMINANCE12_ALPHA12          = 0x8047,
  733.     GL_LUMINANCE16_ALPHA16          = 0x8048,
  734.     GL_INTENSITY                    = 0x8049,
  735.     GL_INTENSITY4                   = 0x804A,
  736.     GL_INTENSITY8                   = 0x804B,
  737.     GL_INTENSITY12                  = 0x804C,
  738.     GL_INTENSITY16                  = 0x804D,
  739.     GL_R3_G3_B2                     = 0x2A10,
  740.     GL_RGB4                         = 0x804F,
  741.     GL_RGB5                         = 0x8050,
  742.     GL_RGB8                         = 0x8051,
  743.     GL_RGB10                        = 0x8052,
  744.     GL_RGB12                        = 0x8053,
  745.     GL_RGB16                        = 0x8054,
  746.     GL_RGBA2                        = 0x8055,
  747.     GL_RGBA4                        = 0x8056,
  748.     GL_RGB5_A1                      = 0x8057,
  749.     GL_RGBA8                        = 0x8058,
  750.     GL_RGB10_A2                     = 0x8059,
  751.     GL_RGBA12                       = 0x805A,
  752.     GL_RGBA16                       = 0x805B,
  753.  
  754.     /* Utility */
  755.     GL_VENDOR                       = 0x1F00,
  756.     GL_RENDERER                     = 0x1F01,
  757.     GL_VERSION                      = 0x1F02,
  758.     GL_EXTENSIONS                   = 0x1F03,
  759.  
  760.     /* Errors */
  761.     GL_INVALID_VALUE                = 0x0501,
  762.     GL_INVALID_ENUM                 = 0x0500,
  763.     GL_INVALID_OPERATION            = 0x0502,
  764.     GL_STACK_OVERFLOW               = 0x0503,
  765.     GL_STACK_UNDERFLOW              = 0x0504,
  766.     GL_OUT_OF_MEMORY                = 0x0505,
  767.  
  768.     /*
  769.      * Extensions
  770.      */
  771.  
  772.     /* GL_EXT_blend_minmax and GL_EXT_blend_color */
  773.     GL_CONSTANT_COLOR_EXT                   = 0x8001,
  774.     GL_ONE_MINUS_CONSTANT_COLOR_EXT         = 0x8002,
  775.     GL_CONSTANT_ALPHA_EXT                   = 0x8003,
  776.     GL_ONE_MINUS_CONSTANT_ALPHA_EXT         = 0x8004,
  777.     GL_BLEND_EQUATION_EXT                   = 0x8009,
  778.     GL_MIN_EXT                              = 0x8007,
  779.     GL_MAX_EXT                              = 0x8008,
  780.     GL_FUNC_ADD_EXT                         = 0x8006,
  781.     GL_FUNC_SUBTRACT_EXT                    = 0x800A,
  782.     GL_FUNC_REVERSE_SUBTRACT_EXT            = 0x800B,
  783.     GL_BLEND_COLOR_EXT                      = 0x8005,
  784.  
  785.     /* GL_EXT_polygon_offset */
  786.     GL_POLYGON_OFFSET_EXT                   = 0x8037,
  787.     GL_POLYGON_OFFSET_FACTOR_EXT            = 0x8038,
  788.     GL_POLYGON_OFFSET_BIAS_EXT              = 0x8039,
  789.  
  790.     /* GL_EXT_vertex_array */
  791.     GL_VERTEX_ARRAY_EXT                     = 0x8074,
  792.     GL_NORMAL_ARRAY_EXT                     = 0x8075,
  793.     GL_COLOR_ARRAY_EXT                      = 0x8076,
  794.     GL_INDEX_ARRAY_EXT                      = 0x8077,
  795.     GL_TEXTURE_COORD_ARRAY_EXT              = 0x8078,
  796.     GL_EDGE_FLAG_ARRAY_EXT                  = 0x8079,
  797.     GL_VERTEX_ARRAY_SIZE_EXT                = 0x807A,
  798.     GL_VERTEX_ARRAY_TYPE_EXT                = 0x807B,
  799.     GL_VERTEX_ARRAY_STRIDE_EXT              = 0x807C,
  800.     GL_VERTEX_ARRAY_COUNT_EXT               = 0x807D,
  801.     GL_NORMAL_ARRAY_TYPE_EXT                = 0x807E,
  802.     GL_NORMAL_ARRAY_STRIDE_EXT              = 0x807F,
  803.     GL_NORMAL_ARRAY_COUNT_EXT               = 0x8080,
  804.     GL_COLOR_ARRAY_SIZE_EXT                 = 0x8081,
  805.     GL_COLOR_ARRAY_TYPE_EXT                 = 0x8082,
  806.     GL_COLOR_ARRAY_STRIDE_EXT               = 0x8083,
  807.     GL_COLOR_ARRAY_COUNT_EXT                = 0x8084,
  808.     GL_INDEX_ARRAY_TYPE_EXT                 = 0x8085,
  809.     GL_INDEX_ARRAY_STRIDE_EXT               = 0x8086,
  810.     GL_INDEX_ARRAY_COUNT_EXT                = 0x8087,
  811.     GL_TEXTURE_COORD_ARRAY_SIZE_EXT         = 0x8088,
  812.     GL_TEXTURE_COORD_ARRAY_TYPE_EXT         = 0x8089,
  813.     GL_TEXTURE_COORD_ARRAY_STRIDE_EXT       = 0x808A,
  814.     GL_TEXTURE_COORD_ARRAY_COUNT_EXT        = 0x808B,
  815.     GL_EDGE_FLAG_ARRAY_STRIDE_EXT           = 0x808C,
  816.     GL_EDGE_FLAG_ARRAY_COUNT_EXT            = 0x808D,
  817.     GL_VERTEX_ARRAY_POINTER_EXT             = 0x808E,
  818.     GL_NORMAL_ARRAY_POINTER_EXT             = 0x808F,
  819.     GL_COLOR_ARRAY_POINTER_EXT              = 0x8090,
  820.     GL_INDEX_ARRAY_POINTER_EXT              = 0x8091,
  821.     GL_TEXTURE_COORD_ARRAY_POINTER_EXT      = 0x8092,
  822.     GL_EDGE_FLAG_ARRAY_POINTER_EXT          = 0x8093,
  823.  
  824.     /* GL_EXT_texture_object */
  825.     GL_TEXTURE_PRIORITY_EXT                 = 0x8066,
  826.     GL_TEXTURE_RESIDENT_EXT                 = 0x8067,
  827.     GL_TEXTURE_1D_BINDING_EXT               = 0x8068,
  828.     GL_TEXTURE_2D_BINDING_EXT               = 0x8069,
  829.  
  830.     /* GL_EXT_texture3D */
  831.     GL_PACK_SKIP_IMAGES_EXT                 = 0x806B,
  832.     GL_PACK_IMAGE_HEIGHT_EXT                = 0x806C,
  833.     GL_UNPACK_SKIP_IMAGES_EXT               = 0x806D,
  834.     GL_UNPACK_IMAGE_HEIGHT_EXT              = 0x806E,
  835.     GL_TEXTURE_3D_EXT                       = 0x806F,
  836.     GL_PROXY_TEXTURE_3D_EXT                 = 0x8070,
  837.     GL_TEXTURE_DEPTH_EXT                    = 0x8071,
  838.     GL_TEXTURE_WRAP_R_EXT                   = 0x8072,
  839.     GL_MAX_3D_TEXTURE_SIZE_EXT              = 0x8073,
  840.     GL_TEXTURE_3D_BINDING_EXT               = 0x806A,
  841.  
  842.     /* GL_EXT_paletted_texture */
  843.     GL_TABLE_TOO_LARGE_EXT                  = 0x8031,
  844.     GL_COLOR_TABLE_FORMAT_EXT               = 0x80D8,
  845.     GL_COLOR_TABLE_WIDTH_EXT                = 0x80D9,
  846.     GL_COLOR_TABLE_RED_SIZE_EXT             = 0x80DA,
  847.     GL_COLOR_TABLE_GREEN_SIZE_EXT           = 0x80DB,
  848.     GL_COLOR_TABLE_BLUE_SIZE_EXT            = 0x80DC,
  849.     GL_COLOR_TABLE_ALPHA_SIZE_EXT           = 0x80DD,
  850.     GL_COLOR_TABLE_LUMINANCE_SIZE_EXT       = 0x80DE,
  851.     GL_COLOR_TABLE_INTENSITY_SIZE_EXT       = 0x80DF,
  852.     GL_TEXTURE_INDEX_SIZE_EXT               = 0x80ED,
  853.     GL_COLOR_INDEX1_EXT                     = 0x80E2,
  854.     GL_COLOR_INDEX2_EXT                     = 0x80E3,
  855.     GL_COLOR_INDEX4_EXT                     = 0x80E4,
  856.     GL_COLOR_INDEX8_EXT                     = 0x80E5,
  857.     GL_COLOR_INDEX12_EXT                    = 0x80E6,
  858.     GL_COLOR_INDEX16_EXT                    = 0x80E7,
  859.  
  860.     /* GL_EXT_shared_texture_palette */
  861.     GL_SHARED_TEXTURE_PALETTE_EXT           = 0x81FB,
  862.  
  863.     /* GL_EXT_point_parameters */
  864.     GL_POINT_SIZE_MIN_EXT                   = 0x8126,
  865.     GL_POINT_SIZE_MAX_EXT                   = 0x8127,
  866.     GL_POINT_FADE_THRESHOLD_SIZE_EXT        = 0x8128,
  867.     GL_DISTANCE_ATTENUATION_EXT             = 0x8129,
  868.  
  869.     /* GL_EXT_rescale_normal */
  870.     GL_RESCALE_NORMAL_EXT                   = 0x803A,
  871.  
  872.     /* GL_EXT_abgr */
  873.     GL_ABGR_EXT                             = 0x8000,
  874.  
  875.     /* GL_SGIS_multitexture */
  876.     GL_SELECTED_TEXTURE_SGIS                = 0x835C,
  877.     GL_SELECTED_TEXTURE_COORD_SET_SGIS      = 0x835D,
  878.     GL_MAX_TEXTURES_SGIS                    = 0x835E,
  879.     GL_TEXTURE0_SGIS                        = 0x835F,
  880.     GL_TEXTURE1_SGIS                        = 0x8360,
  881.     GL_TEXTURE2_SGIS                        = 0x8361,
  882.     GL_TEXTURE3_SGIS                        = 0x8362,
  883.     GL_TEXTURE_COORD_SET_SOURCE_SGIS        = 0x8363,
  884.  
  885.     /* GL_EXT_multitexture */
  886.     GL_SELECTED_TEXTURE_EXT                 = 0x83C0,
  887.     GL_SELECTED_TEXTURE_COORD_SET_EXT       = 0x83C1,
  888.     GL_SELECTED_TEXTURE_TRANSFORM_EXT       = 0x83C2,
  889.     GL_MAX_TEXTURES_EXT                     = 0x83C3,
  890.     GL_MAX_TEXTURE_COORD_SETS_EXT           = 0x83C4,
  891.     GL_TEXTURE_ENV_COORD_SET_EXT            = 0x83C5,
  892.     GL_TEXTURE0_EXT                         = 0x83C6,
  893.     GL_TEXTURE1_EXT                         = 0x83C7,
  894.     GL_TEXTURE2_EXT                         = 0x83C8,
  895.     GL_TEXTURE3_EXT                         = 0x83C9,
  896.  
  897.     /* GL_SGIS_texture_edge_clamp */
  898.     GL_CLAMP_TO_EDGE_SGIS                   = 0x812F,
  899.  
  900.     /* OpenGL 1.2 */
  901.     GL_RESCALE_NORMAL                       = 0x803A,
  902.     GL_CLAMP_TO_EDGE                        = 0x812F,
  903.     GL_MAX_ELEMENTS_VERTICES                = 0xF0E8,
  904.     GL_MAX_ELEMENTS_INDICES                 = 0xF0E9,
  905.     GL_BGR                                  = 0x80E0,
  906.     GL_BGRA                                 = 0x80E1,
  907.     GL_UNSIGNED_BYTE_3_3_2                  = 0x8032,
  908.     GL_UNSIGNED_BYTE_2_3_3_REV              = 0x8362,
  909.     GL_UNSIGNED_SHORT_5_6_5                 = 0x8363,
  910.     GL_UNSIGNED_SHORT_5_6_5_REV             = 0x8364,
  911.     GL_UNSIGNED_SHORT_4_4_4_4               = 0x8033,
  912.     GL_UNSIGNED_SHORT_4_4_4_4_REV           = 0x8365,
  913.     GL_UNSIGNED_SHORT_5_5_5_1               = 0x8034,
  914.     GL_UNSIGNED_SHORT_1_5_5_5_REV           = 0x8366,
  915.     GL_UNSIGNED_INT_8_8_8_8                 = 0x8035,
  916.     GL_UNSIGNED_INT_8_8_8_8_REV             = 0x8367,
  917.     GL_UNSIGNED_INT_10_10_10_2              = 0x8036,
  918.     GL_UNSIGNED_INT_2_10_10_10_REV          = 0x8368,
  919.     GL_LIGHT_MODEL_COLOR_CONTROL            = 0x81F8,
  920.     GL_SINGLE_COLOR                         = 0x81F9,
  921.     GL_SEPARATE_SPECULAR_COLOR              = 0x81FA,
  922.     GL_TEXTURE_MIN_LOD                      = 0x813A,
  923.     GL_TEXTURE_MAX_LOD                      = 0x813B,
  924.     GL_TEXTURE_BASE_LEVEL                   = 0x813C,
  925.     GL_TEXTURE_MAX_LEVEL                    = 0x813D
  926. }
  927. #ifdef CENTERLINE_CLPP
  928.   /* CenterLine C++ workaround: */
  929.   gl_enum;
  930.   typedef int GLenum;
  931. #else
  932.   /* all other compilers */
  933.   GLenum;
  934. #endif
  935.  
  936.  
  937. /* GL_NO_ERROR must be zero */
  938. #define GL_NO_ERROR 0
  939.  
  940.  
  941.  
  942. enum {
  943.     GL_CURRENT_BIT          = 0x00000001,
  944.     GL_POINT_BIT            = 0x00000002,
  945.     GL_LINE_BIT             = 0x00000004,
  946.     GL_POLYGON_BIT          = 0x00000008,
  947.     GL_POLYGON_STIPPLE_BIT  = 0x00000010,
  948.     GL_PIXEL_MODE_BIT       = 0x00000020,
  949.     GL_LIGHTING_BIT         = 0x00000040,
  950.     GL_FOG_BIT              = 0x00000080,
  951.     GL_DEPTH_BUFFER_BIT     = 0x00000100,
  952.     GL_ACCUM_BUFFER_BIT     = 0x00000200,
  953.     GL_STENCIL_BUFFER_BIT   = 0x00000400,
  954.     GL_VIEWPORT_BIT         = 0x00000800,
  955.     GL_TRANSFORM_BIT        = 0x00001000,
  956.     GL_ENABLE_BIT           = 0x00002000,
  957.     GL_COLOR_BUFFER_BIT     = 0x00004000,
  958.     GL_HINT_BIT             = 0x00008000,
  959.     GL_EVAL_BIT             = 0x00010000,
  960.     GL_LIST_BIT             = 0x00020000,
  961.     GL_TEXTURE_BIT          = 0x00040000,
  962.     GL_SCISSOR_BIT          = 0x00080000,
  963.     GL_ALL_ATTRIB_BITS      = 0x000fffff
  964. };
  965.  
  966.  
  967. enum {
  968.     GL_CLIENT_PIXEL_STORE_BIT       = 0x00000001,
  969.     GL_CLIENT_VERTEX_ARRAY_BIT      = 0x00000002,
  970.     GL_CLIENT_ALL_ATTRIB_BITS       = 0x0000FFFF
  971. };
  972.  
  973.  
  974.  
  975. typedef unsigned int GLbitfield;
  976.  
  977.  
  978. #ifdef CENTERLINE_CLPP
  979. #define signed
  980. #endif
  981.  
  982.  
  983. /*
  984.  *
  985.  * Data types (may be architecture dependent in some cases)
  986.  *
  987.  */
  988.  
  989. /*  C type              GL type         storage                            */
  990. /*-------------------------------------------------------------------------*/
  991. typedef void            GLvoid;
  992. typedef unsigned char   GLboolean;
  993. typedef signed char     GLbyte;         /* 1-byte signed */
  994. typedef short           GLshort;        /* 2-byte signed */
  995. typedef int             GLint;          /* 4-byte signed */
  996. typedef unsigned char   GLubyte;        /* 1-byte unsigned */
  997. typedef unsigned short  GLushort;       /* 2-byte unsigned */
  998. typedef unsigned int    GLuint;         /* 4-byte unsigned */
  999. typedef int             GLsizei;        /* 4-byte signed */
  1000. typedef float           GLfloat;        /* single precision float */
  1001. typedef float           GLclampf;       /* single precision float in [0,1] */
  1002. typedef double          GLdouble;       /* double precision float */
  1003. typedef double          GLclampd;       /* double precision float in [0,1] */
  1004.  
  1005.  
  1006.  
  1007. #if defined(__BEOS__) || defined(__QUICKDRAW__)
  1008. #pragma export on
  1009. #endif
  1010.  
  1011. #if defined(__STORM__) && defined(__PPC__) && !defined(COMPILING_GL)
  1012. #include <stormprotos/gl_sprotos.h>
  1013. #else
  1014.  
  1015. /*
  1016.  * Miscellaneous
  1017.  */
  1018.  
  1019. WINGDIAPI void APIENTRY glClearIndex( GLfloat c );
  1020.  
  1021. WINGDIAPI void APIENTRY glClearColor( GLclampf red,
  1022.               GLclampf green,
  1023.               GLclampf blue,
  1024.               GLclampf alpha );
  1025.  
  1026. WINGDIAPI void APIENTRY glClear( GLbitfield mask );
  1027.  
  1028. WINGDIAPI void APIENTRY glIndexMask( GLuint mask );
  1029.  
  1030. WINGDIAPI void APIENTRY glColorMask( GLboolean red, GLboolean green,
  1031.              GLboolean blue, GLboolean alpha );
  1032.  
  1033. WINGDIAPI void APIENTRY glAlphaFunc( GLenum func, GLclampf ref );
  1034.  
  1035. WINGDIAPI void APIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
  1036.  
  1037. WINGDIAPI void APIENTRY glLogicOp( GLenum opcode );
  1038.  
  1039. WINGDIAPI void APIENTRY glCullFace( GLenum mode );
  1040.  
  1041. WINGDIAPI void APIENTRY glFrontFace( GLenum mode );
  1042.  
  1043. WINGDIAPI void APIENTRY glPointSize( GLfloat size );
  1044.  
  1045. WINGDIAPI void APIENTRY glLineWidth( GLfloat width );
  1046.  
  1047. WINGDIAPI void APIENTRY glLineStipple( GLint factor, GLushort pattern );
  1048.  
  1049. WINGDIAPI void APIENTRY glPolygonMode( GLenum face, GLenum mode );
  1050.  
  1051. WINGDIAPI void APIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
  1052.  
  1053. WINGDIAPI void APIENTRY glPolygonStipple( const GLubyte *mask );
  1054.  
  1055. WINGDIAPI void APIENTRY glGetPolygonStipple( GLubyte *mask );
  1056.  
  1057. WINGDIAPI void APIENTRY glEdgeFlag( GLboolean flag );
  1058.  
  1059. WINGDIAPI void APIENTRY glEdgeFlagv( const GLboolean *flag );
  1060.  
  1061. WINGDIAPI void APIENTRY glScissor( GLint x, GLint y,
  1062.                    GLsizei width, GLsizei height);
  1063.  
  1064. WINGDIAPI void APIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
  1065.  
  1066. WINGDIAPI void APIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
  1067.  
  1068. WINGDIAPI void APIENTRY glDrawBuffer( GLenum mode );
  1069.  
  1070. WINGDIAPI void APIENTRY glReadBuffer( GLenum mode );
  1071.  
  1072. WINGDIAPI void APIENTRY glEnable( GLenum cap );
  1073.  
  1074. WINGDIAPI void APIENTRY glDisable( GLenum cap );
  1075.  
  1076. WINGDIAPI GLboolean APIENTRY glIsEnabled( GLenum cap );
  1077.  
  1078.  
  1079. WINGDIAPI void APIENTRY glEnableClientState( GLenum cap );  /* 1.1 */
  1080.  
  1081. WINGDIAPI void APIENTRY glDisableClientState( GLenum cap );  /* 1.1 */
  1082.  
  1083.  
  1084. WINGDIAPI void APIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
  1085.  
  1086. WINGDIAPI void APIENTRY glGetDoublev( GLenum pname, GLdouble *params );
  1087.  
  1088. WINGDIAPI void APIENTRY glGetFloatv( GLenum pname, GLfloat *params );
  1089.  
  1090. WINGDIAPI void APIENTRY glGetIntegerv( GLenum pname, GLint *params );
  1091.  
  1092.  
  1093. WINGDIAPI void APIENTRY glPushAttrib( GLbitfield mask );
  1094.  
  1095. WINGDIAPI void APIENTRY glPopAttrib( void );
  1096.  
  1097.  
  1098. WINGDIAPI void APIENTRY glPushClientAttrib( GLbitfield mask );  /* 1.1 */
  1099.  
  1100. WINGDIAPI void APIENTRY glPopClientAttrib( void );  /* 1.1 */
  1101.  
  1102.  
  1103. WINGDIAPI GLint APIENTRY glRenderMode( GLenum mode );
  1104.  
  1105. WINGDIAPI GLenum APIENTRY glGetError( void );
  1106.  
  1107. WINGDIAPI const GLubyte* APIENTRY glGetString( GLenum name );
  1108.  
  1109. WINGDIAPI void APIENTRY glFinish( void );
  1110.  
  1111. WINGDIAPI void APIENTRY glFlush( void );
  1112.  
  1113. WINGDIAPI void APIENTRY glHint( GLenum target, GLenum mode );
  1114.  
  1115.  
  1116.  
  1117. /*
  1118.  * Depth Buffer
  1119.  */
  1120.  
  1121. WINGDIAPI void APIENTRY glClearDepth( GLclampd depth );
  1122.  
  1123. WINGDIAPI void APIENTRY glDepthFunc( GLenum func );
  1124.  
  1125. WINGDIAPI void APIENTRY glDepthMask( GLboolean flag );
  1126.  
  1127. WINGDIAPI void APIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
  1128.  
  1129.  
  1130. /*
  1131.  * Accumulation Buffer
  1132.  */
  1133.  
  1134. WINGDIAPI void APIENTRY glClearAccum( GLfloat red, GLfloat green,
  1135.                       GLfloat blue, GLfloat alpha );
  1136.  
  1137. WINGDIAPI void APIENTRY glAccum( GLenum op, GLfloat value );
  1138.  
  1139.  
  1140.  
  1141. /*
  1142.  * Transformation
  1143.  */
  1144.  
  1145. WINGDIAPI void APIENTRY glMatrixMode( GLenum mode );
  1146.  
  1147. WINGDIAPI void APIENTRY glOrtho( GLdouble left, GLdouble right,
  1148.                  GLdouble bottom, GLdouble top,
  1149.                  GLdouble near_val, GLdouble far_val );
  1150.  
  1151. WINGDIAPI void APIENTRY glFrustum( GLdouble left, GLdouble right,
  1152.                    GLdouble bottom, GLdouble top,
  1153.                    GLdouble near_val, GLdouble far_val );
  1154.  
  1155. WINGDIAPI void APIENTRY glViewport( GLint x, GLint y,
  1156.                     GLsizei width, GLsizei height );
  1157.  
  1158. WINGDIAPI void APIENTRY glPushMatrix( void );
  1159.  
  1160. WINGDIAPI void APIENTRY glPopMatrix( void );
  1161.  
  1162. WINGDIAPI void APIENTRY glLoadIdentity( void );
  1163.  
  1164. WINGDIAPI void APIENTRY glLoadMatrixd( const GLdouble *m );
  1165. WINGDIAPI void APIENTRY glLoadMatrixf( const GLfloat *m );
  1166.  
  1167. WINGDIAPI void APIENTRY glMultMatrixd( const GLdouble *m );
  1168. WINGDIAPI void APIENTRY glMultMatrixf( const GLfloat *m );
  1169.  
  1170. WINGDIAPI void APIENTRY glRotated( GLdouble angle,
  1171.                    GLdouble x, GLdouble y, GLdouble z );
  1172. WINGDIAPI void APIENTRY glRotatef( GLfloat angle,
  1173.                    GLfloat x, GLfloat y, GLfloat z );
  1174.  
  1175. WINGDIAPI void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
  1176. WINGDIAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
  1177.  
  1178. WINGDIAPI void APIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
  1179. WINGDIAPI void APIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
  1180.  
  1181.  
  1182.  
  1183. /*
  1184.  * Display Lists
  1185.  */
  1186.  
  1187. WINGDIAPI GLboolean APIENTRY glIsList( GLuint list );
  1188.  
  1189. WINGDIAPI void APIENTRY glDeleteLists( GLuint list, GLsizei range );
  1190.  
  1191. WINGDIAPI GLuint APIENTRY glGenLists( GLsizei range );
  1192.  
  1193. WINGDIAPI void APIENTRY glNewList( GLuint list, GLenum mode );
  1194.  
  1195. WINGDIAPI void APIENTRY glEndList( void );
  1196.  
  1197. WINGDIAPI void APIENTRY glCallList( GLuint list );
  1198.  
  1199. WINGDIAPI void APIENTRY glCallLists( GLsizei n, GLenum type,
  1200.                      const GLvoid *lists );
  1201.  
  1202. WINGDIAPI void APIENTRY glListBase( GLuint base );
  1203.  
  1204.  
  1205.  
  1206. /*
  1207.  * Drawing Functions
  1208.  */
  1209.  
  1210. WINGDIAPI void APIENTRY glBegin( GLenum mode );
  1211.  
  1212. WINGDIAPI void APIENTRY glEnd( void );
  1213.  
  1214.  
  1215. WINGDIAPI void APIENTRY glVertex2d( GLdouble x, GLdouble y );
  1216. WINGDIAPI void APIENTRY glVertex2f( GLfloat x, GLfloat y );
  1217. WINGDIAPI void APIENTRY glVertex2i( GLint x, GLint y );
  1218. WINGDIAPI void APIENTRY glVertex2s( GLshort x, GLshort y );
  1219.  
  1220. WINGDIAPI void APIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
  1221. WINGDIAPI void APIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
  1222. WINGDIAPI void APIENTRY glVertex3i( GLint x, GLint y, GLint z );
  1223. WINGDIAPI void APIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
  1224.  
  1225. WINGDIAPI void APIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  1226. WINGDIAPI void APIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  1227. WINGDIAPI void APIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
  1228. WINGDIAPI void APIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
  1229.  
  1230. WINGDIAPI void APIENTRY glVertex2dv( const GLdouble *v );
  1231. WINGDIAPI void APIENTRY glVertex2fv( const GLfloat *v );
  1232. WINGDIAPI void APIENTRY glVertex2iv( const GLint *v );
  1233. WINGDIAPI void APIENTRY glVertex2sv( const GLshort *v );
  1234.  
  1235. WINGDIAPI void APIENTRY glVertex3dv( const GLdouble *v );
  1236. WINGDIAPI void APIENTRY glVertex3fv( const GLfloat *v );
  1237. WINGDIAPI void APIENTRY glVertex3iv( const GLint *v );
  1238. WINGDIAPI void APIENTRY glVertex3sv( const GLshort *v );
  1239.  
  1240. WINGDIAPI void APIENTRY glVertex4dv( const GLdouble *v );
  1241. WINGDIAPI void APIENTRY glVertex4fv( const GLfloat *v );
  1242. WINGDIAPI void APIENTRY glVertex4iv( const GLint *v );
  1243. WINGDIAPI void APIENTRY glVertex4sv( const GLshort *v );
  1244.  
  1245.  
  1246. WINGDIAPI void APIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
  1247. WINGDIAPI void APIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
  1248. WINGDIAPI void APIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
  1249. WINGDIAPI void APIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
  1250. WINGDIAPI void APIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
  1251.  
  1252. WINGDIAPI void APIENTRY glNormal3bv( const GLbyte *v );
  1253. WINGDIAPI void APIENTRY glNormal3dv( const GLdouble *v );
  1254. WINGDIAPI void APIENTRY glNormal3fv( const GLfloat *v );
  1255. WINGDIAPI void APIENTRY glNormal3iv( const GLint *v );
  1256. WINGDIAPI void APIENTRY glNormal3sv( const GLshort *v );
  1257.  
  1258.  
  1259. WINGDIAPI void APIENTRY glIndexd( GLdouble c );
  1260. WINGDIAPI void APIENTRY glIndexf( GLfloat c );
  1261. WINGDIAPI void APIENTRY glIndexi( GLint c );
  1262. WINGDIAPI void APIENTRY glIndexs( GLshort c );
  1263. WINGDIAPI void APIENTRY glIndexub( GLubyte c );  /* 1.1 */
  1264.  
  1265. WINGDIAPI void APIENTRY glIndexdv( const GLdouble *c );
  1266. WINGDIAPI void APIENTRY glIndexfv( const GLfloat *c );
  1267. WINGDIAPI void APIENTRY glIndexiv( const GLint *c );
  1268. WINGDIAPI void APIENTRY glIndexsv( const GLshort *c );
  1269. WINGDIAPI void APIENTRY glIndexubv( const GLubyte *c );  /* 1.1 */
  1270.  
  1271. WINGDIAPI void APIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
  1272. WINGDIAPI void APIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
  1273. WINGDIAPI void APIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
  1274. WINGDIAPI void APIENTRY glColor3i( GLint red, GLint green, GLint blue );
  1275. WINGDIAPI void APIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
  1276. WINGDIAPI void APIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
  1277. WINGDIAPI void APIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
  1278. WINGDIAPI void APIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
  1279.  
  1280. WINGDIAPI void APIENTRY glColor4b( GLbyte red, GLbyte green,
  1281.                    GLbyte blue, GLbyte alpha );
  1282. WINGDIAPI void APIENTRY glColor4d( GLdouble red, GLdouble green,
  1283.                    GLdouble blue, GLdouble alpha );
  1284. WINGDIAPI void APIENTRY glColor4f( GLfloat red, GLfloat green,
  1285.                    GLfloat blue, GLfloat alpha );
  1286. WINGDIAPI void APIENTRY glColor4i( GLint red, GLint green,
  1287.                    GLint blue, GLint alpha );
  1288. WINGDIAPI void APIENTRY glColor4s( GLshort red, GLshort green,
  1289.                    GLshort blue, GLshort alpha );
  1290. WINGDIAPI void APIENTRY glColor4ub( GLubyte red, GLubyte green,
  1291.                     GLubyte blue, GLubyte alpha );
  1292. WINGDIAPI void APIENTRY glColor4ui( GLuint red, GLuint green,
  1293.                     GLuint blue, GLuint alpha );
  1294. WINGDIAPI void APIENTRY glColor4us( GLushort red, GLushort green,
  1295.                     GLushort blue, GLushort alpha );
  1296.  
  1297.  
  1298. WINGDIAPI void APIENTRY glColor3bv( const GLbyte *v );
  1299. WINGDIAPI void APIENTRY glColor3dv( const GLdouble *v );
  1300. WINGDIAPI void APIENTRY glColor3fv( const GLfloat *v );
  1301. WINGDIAPI void APIENTRY glColor3iv( const GLint *v );
  1302. WINGDIAPI void APIENTRY glColor3sv( const GLshort *v );
  1303. WINGDIAPI void APIENTRY glColor3ubv( const GLubyte *v );
  1304. WINGDIAPI void APIENTRY glColor3uiv( const GLuint *v );
  1305. WINGDIAPI void APIENTRY glColor3usv( const GLushort *v );
  1306.  
  1307. WINGDIAPI void APIENTRY glColor4bv( const GLbyte *v );
  1308. WINGDIAPI void APIENTRY glColor4dv( const GLdouble *v );
  1309. WINGDIAPI void APIENTRY glColor4fv( const GLfloat *v );
  1310. WINGDIAPI void APIENTRY glColor4iv( const GLint *v );
  1311. WINGDIAPI void APIENTRY glColor4sv( const GLshort *v );
  1312. WINGDIAPI void APIENTRY glColor4ubv( const GLubyte *v );
  1313. WINGDIAPI void APIENTRY glColor4uiv( const GLuint *v );
  1314. WINGDIAPI void APIENTRY glColor4usv( const GLushort *v );
  1315.  
  1316.  
  1317. WINGDIAPI void APIENTRY glTexCoord1d( GLdouble s );
  1318. WINGDIAPI void APIENTRY glTexCoord1f( GLfloat s );
  1319. WINGDIAPI void APIENTRY glTexCoord1i( GLint s );
  1320. WINGDIAPI void APIENTRY glTexCoord1s( GLshort s );
  1321.  
  1322. WINGDIAPI void APIENTRY glTexCoord2d( GLdouble s, GLdouble t );
  1323. WINGDIAPI void APIENTRY glTexCoord2f( GLfloat s, GLfloat t );
  1324. WINGDIAPI void APIENTRY glTexCoord2i( GLint s, GLint t );
  1325. WINGDIAPI void APIENTRY glTexCoord2s( GLshort s, GLshort t );
  1326.  
  1327. WINGDIAPI void APIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
  1328. WINGDIAPI void APIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
  1329. WINGDIAPI void APIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
  1330. WINGDIAPI void APIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
  1331.  
  1332. WINGDIAPI void APIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
  1333. WINGDIAPI void APIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
  1334. WINGDIAPI void APIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
  1335. WINGDIAPI void APIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
  1336.  
  1337. WINGDIAPI void APIENTRY glTexCoord1dv( const GLdouble *v );
  1338. WINGDIAPI void APIENTRY glTexCoord1fv( const GLfloat *v );
  1339. WINGDIAPI void APIENTRY glTexCoord1iv( const GLint *v );
  1340. WINGDIAPI void APIENTRY glTexCoord1sv( const GLshort *v );
  1341.  
  1342. WINGDIAPI void APIENTRY glTexCoord2dv( const GLdouble *v );
  1343. WINGDIAPI void APIENTRY glTexCoord2fv( const GLfloat *v );
  1344. WINGDIAPI void APIENTRY glTexCoord2iv( const GLint *v );
  1345. WINGDIAPI void APIENTRY glTexCoord2sv( const GLshort *v );
  1346.  
  1347. WINGDIAPI void APIENTRY glTexCoord3dv( const GLdouble *v );
  1348. WINGDIAPI void APIENTRY glTexCoord3fv( const GLfloat *v );
  1349. WINGDIAPI void APIENTRY glTexCoord3iv( const GLint *v );
  1350. WINGDIAPI void APIENTRY glTexCoord3sv( const GLshort *v );
  1351.  
  1352. WINGDIAPI void APIENTRY glTexCoord4dv( const GLdouble *v );
  1353. WINGDIAPI void APIENTRY glTexCoord4fv( const GLfloat *v );
  1354. WINGDIAPI void APIENTRY glTexCoord4iv( const GLint *v );
  1355. WINGDIAPI void APIENTRY glTexCoord4sv( const GLshort *v );
  1356.  
  1357.  
  1358. WINGDIAPI void APIENTRY glRasterPos2d( GLdouble x, GLdouble y );
  1359. WINGDIAPI void APIENTRY glRasterPos2f( GLfloat x, GLfloat y );
  1360. WINGDIAPI void APIENTRY glRasterPos2i( GLint x, GLint y );
  1361. WINGDIAPI void APIENTRY glRasterPos2s( GLshort x, GLshort y );
  1362.  
  1363. WINGDIAPI void APIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
  1364. WINGDIAPI void APIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
  1365. WINGDIAPI void APIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
  1366. WINGDIAPI void APIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
  1367.  
  1368. WINGDIAPI void APIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  1369. WINGDIAPI void APIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  1370. WINGDIAPI void APIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
  1371. WINGDIAPI void APIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
  1372.  
  1373. WINGDIAPI void APIENTRY glRasterPos2dv( const GLdouble *v );
  1374. WINGDIAPI void APIENTRY glRasterPos2fv( const GLfloat *v );
  1375. WINGDIAPI void APIENTRY glRasterPos2iv( const GLint *v );
  1376. WINGDIAPI void APIENTRY glRasterPos2sv( const GLshort *v );
  1377.  
  1378. WINGDIAPI void APIENTRY glRasterPos3dv( const GLdouble *v );
  1379. WINGDIAPI void APIENTRY glRasterPos3fv( const GLfloat *v );
  1380. WINGDIAPI void APIENTRY glRasterPos3iv( const GLint *v );
  1381. WINGDIAPI void APIENTRY glRasterPos3sv( const GLshort *v );
  1382.  
  1383. WINGDIAPI void APIENTRY glRasterPos4dv( const GLdouble *v );
  1384. WINGDIAPI void APIENTRY glRasterPos4fv( const GLfloat *v );
  1385. WINGDIAPI void APIENTRY glRasterPos4iv( const GLint *v );
  1386. WINGDIAPI void APIENTRY glRasterPos4sv( const GLshort *v );
  1387.  
  1388.  
  1389. WINGDIAPI void APIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
  1390. WINGDIAPI void APIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
  1391. WINGDIAPI void APIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
  1392. WINGDIAPI void APIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
  1393.  
  1394.  
  1395. WINGDIAPI void APIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
  1396. WINGDIAPI void APIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
  1397. WINGDIAPI void APIENTRY glRectiv( const GLint *v1, const GLint *v2 );
  1398. WINGDIAPI void APIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
  1399.  
  1400.  
  1401.  
  1402. /*
  1403.  * Vertex Arrays  (1.1)
  1404.  */
  1405.  
  1406. WINGDIAPI void APIENTRY glVertexPointer( GLint size, GLenum type,
  1407.                      GLsizei stride, const GLvoid *ptr );
  1408.  
  1409. WINGDIAPI void APIENTRY glNormalPointer( GLenum type, GLsizei stride,
  1410.                      const GLvoid *ptr );
  1411.  
  1412. WINGDIAPI void APIENTRY glColorPointer( GLint size, GLenum type,
  1413.                     GLsizei stride, const GLvoid *ptr );
  1414.  
  1415. WINGDIAPI void APIENTRY glIndexPointer( GLenum type, GLsizei stride,
  1416.                     const GLvoid *ptr );
  1417.  
  1418. WINGDIAPI void APIENTRY glTexCoordPointer( GLint size, GLenum type,
  1419.                        GLsizei stride, const GLvoid *ptr );
  1420.  
  1421. WINGDIAPI void APIENTRY glEdgeFlagPointer( GLsizei stride,
  1422.                        const GLboolean *ptr );
  1423.  
  1424. WINGDIAPI void APIENTRY glGetPointerv( GLenum pname, void **params );
  1425.  
  1426. WINGDIAPI void APIENTRY glArrayElement( GLint i );
  1427.  
  1428. WINGDIAPI void APIENTRY glDrawArrays( GLenum mode, GLint first,
  1429.                       GLsizei count );
  1430.  
  1431. WINGDIAPI void APIENTRY glDrawElements( GLenum mode, GLsizei count,
  1432.                     GLenum type, const GLvoid *indices );
  1433.  
  1434. WINGDIAPI void APIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
  1435.                          const GLvoid *pointer );
  1436.  
  1437.  
  1438. /*
  1439.  * Lighting
  1440.  */
  1441.  
  1442. WINGDIAPI void APIENTRY glShadeModel( GLenum mode );
  1443.  
  1444. WINGDIAPI void APIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
  1445. WINGDIAPI void APIENTRY glLighti( GLenum light, GLenum pname, GLint param );
  1446. WINGDIAPI void APIENTRY glLightfv( GLenum light, GLenum pname,
  1447.                    const GLfloat *params );
  1448. WINGDIAPI void APIENTRY glLightiv( GLenum light, GLenum pname,
  1449.                    const GLint *params );
  1450.  
  1451. WINGDIAPI void APIENTRY glGetLightfv( GLenum light, GLenum pname,
  1452.                       GLfloat *params );
  1453. WINGDIAPI void APIENTRY glGetLightiv( GLenum light, GLenum pname,
  1454.                       GLint *params );
  1455.  
  1456. WINGDIAPI void APIENTRY glLightModelf( GLenum pname, GLfloat param );
  1457. WINGDIAPI void APIENTRY glLightModeli( GLenum pname, GLint param );
  1458. WINGDIAPI void APIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
  1459. WINGDIAPI void APIENTRY glLightModeliv( GLenum pname, const GLint *params );
  1460.  
  1461. WINGDIAPI void APIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
  1462. WINGDIAPI void APIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
  1463. WINGDIAPI void APIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
  1464. WINGDIAPI void APIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
  1465.  
  1466. WINGDIAPI void APIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
  1467. WINGDIAPI void APIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
  1468.  
  1469. WINGDIAPI void APIENTRY glColorMaterial( GLenum face, GLenum mode );
  1470.  
  1471.  
  1472.  
  1473.  
  1474. /*
  1475.  * Raster functions
  1476.  */
  1477.  
  1478. WINGDIAPI void APIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
  1479.  
  1480. WINGDIAPI void APIENTRY glPixelStoref( GLenum pname, GLfloat param );
  1481. WINGDIAPI void APIENTRY glPixelStorei( GLenum pname, GLint param );
  1482.  
  1483. WINGDIAPI void APIENTRY glPixelTransferf( GLenum pname, GLfloat param );
  1484. WINGDIAPI void APIENTRY glPixelTransferi( GLenum pname, GLint param );
  1485.  
  1486. WINGDIAPI void APIENTRY glPixelMapfv( GLenum map, GLint mapsize,
  1487.                       const GLfloat *values );
  1488. WINGDIAPI void APIENTRY glPixelMapuiv( GLenum map, GLint mapsize,
  1489.                        const GLuint *values );
  1490. WINGDIAPI void APIENTRY glPixelMapusv( GLenum map, GLint mapsize,
  1491.                        const GLushort *values );
  1492.  
  1493. WINGDIAPI void APIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
  1494. WINGDIAPI void APIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
  1495. WINGDIAPI void APIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
  1496.  
  1497. WINGDIAPI void APIENTRY glBitmap( GLsizei width, GLsizei height,
  1498.                   GLfloat xorig, GLfloat yorig,
  1499.                   GLfloat xmove, GLfloat ymove,
  1500.                   const GLubyte *bitmap );
  1501.  
  1502. WINGDIAPI void APIENTRY glReadPixels( GLint x, GLint y,
  1503.                       GLsizei width, GLsizei height,
  1504.                       GLenum format, GLenum type,
  1505.                       GLvoid *pixels );
  1506.  
  1507. WINGDIAPI void APIENTRY glDrawPixels( GLsizei width, GLsizei height,
  1508.                       GLenum format, GLenum type,
  1509.                       const GLvoid *pixels );
  1510.  
  1511. WINGDIAPI void APIENTRY glCopyPixels( GLint x, GLint y,
  1512.                       GLsizei width, GLsizei height,
  1513.                       GLenum type );
  1514.  
  1515.  
  1516.  
  1517. /*
  1518.  * Stenciling
  1519.  */
  1520.  
  1521. WINGDIAPI void APIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
  1522.  
  1523. WINGDIAPI void APIENTRY glStencilMask( GLuint mask );
  1524.  
  1525. WINGDIAPI void APIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
  1526.  
  1527. WINGDIAPI void APIENTRY glClearStencil( GLint s );
  1528.  
  1529.  
  1530.  
  1531. /*
  1532.  * Texture mapping
  1533.  */
  1534.  
  1535. WINGDIAPI void APIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
  1536. WINGDIAPI void APIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
  1537. WINGDIAPI void APIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
  1538.  
  1539. WINGDIAPI void APIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
  1540. WINGDIAPI void APIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
  1541. WINGDIAPI void APIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
  1542.  
  1543. WINGDIAPI void APIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
  1544. WINGDIAPI void APIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
  1545. WINGDIAPI void APIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
  1546.  
  1547.  
  1548. WINGDIAPI void APIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
  1549. WINGDIAPI void APIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
  1550.  
  1551. WINGDIAPI void APIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
  1552. WINGDIAPI void APIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
  1553.  
  1554. WINGDIAPI void APIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
  1555. WINGDIAPI void APIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
  1556.  
  1557.  
  1558. WINGDIAPI void APIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
  1559. WINGDIAPI void APIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
  1560.  
  1561. WINGDIAPI void APIENTRY glTexParameterfv( GLenum target, GLenum pname,
  1562.                       const GLfloat *params );
  1563. WINGDIAPI void APIENTRY glTexParameteriv( GLenum target, GLenum pname,
  1564.                       const GLint *params );
  1565.  
  1566. WINGDIAPI void APIENTRY glGetTexParameterfv( GLenum target,
  1567.                          GLenum pname, GLfloat *params);
  1568. WINGDIAPI void APIENTRY glGetTexParameteriv( GLenum target,
  1569.                          GLenum pname, GLint *params );
  1570.  
  1571. WINGDIAPI void APIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,
  1572.                           GLenum pname, GLfloat *params );
  1573. WINGDIAPI void APIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,
  1574.                           GLenum pname, GLint *params );
  1575.  
  1576.  
  1577. WINGDIAPI void APIENTRY glTexImage1D( GLenum target, GLint level,
  1578.                       GLint internalFormat,
  1579.                       GLsizei width, GLint border,
  1580.                       GLenum format, GLenum type,
  1581.                       const GLvoid *pixels );
  1582.  
  1583. WINGDIAPI void APIENTRY glTexImage2D( GLenum target, GLint level,
  1584.                       GLint internalFormat,
  1585.                       GLsizei width, GLsizei height,
  1586.                       GLint border, GLenum format, GLenum type,
  1587.                       const GLvoid *pixels );
  1588.  
  1589. WINGDIAPI void APIENTRY glGetTexImage( GLenum target, GLint level,
  1590.                        GLenum format, GLenum type,
  1591.                        GLvoid *pixels );
  1592.  
  1593.  
  1594.  
  1595. /* 1.1 functions */
  1596.  
  1597. WINGDIAPI void APIENTRY glGenTextures( GLsizei n, GLuint *textures );
  1598.  
  1599. WINGDIAPI void APIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
  1600.  
  1601. WINGDIAPI void APIENTRY glBindTexture( GLenum target, GLuint texture );
  1602.  
  1603. WINGDIAPI void APIENTRY glPrioritizeTextures( GLsizei n,
  1604.                           const GLuint *textures,
  1605.                           const GLclampf *priorities );
  1606.  
  1607. WINGDIAPI GLboolean APIENTRY glAreTexturesResident( GLsizei n,
  1608.                             const GLuint *textures,
  1609.                             GLboolean *residences );
  1610.  
  1611. WINGDIAPI GLboolean APIENTRY glIsTexture( GLuint texture );
  1612.  
  1613.  
  1614. WINGDIAPI void APIENTRY glTexSubImage1D( GLenum target, GLint level,
  1615.                      GLint xoffset,
  1616.                      GLsizei width, GLenum format,
  1617.                      GLenum type, const GLvoid *pixels );
  1618.  
  1619.  
  1620. WINGDIAPI void APIENTRY glTexSubImage2D( GLenum target, GLint level,
  1621.                      GLint xoffset, GLint yoffset,
  1622.                      GLsizei width, GLsizei height,
  1623.                      GLenum format, GLenum type,
  1624.                      const GLvoid *pixels );
  1625.  
  1626.  
  1627. WINGDIAPI void APIENTRY glCopyTexImage1D( GLenum target, GLint level,
  1628.                       GLenum internalformat,
  1629.                       GLint x, GLint y,
  1630.                       GLsizei width, GLint border );
  1631.  
  1632.  
  1633. WINGDIAPI void APIENTRY glCopyTexImage2D( GLenum target, GLint level,
  1634.                       GLenum internalformat,
  1635.                       GLint x, GLint y,
  1636.                       GLsizei width, GLsizei height,
  1637.                       GLint border );
  1638.  
  1639.  
  1640. WINGDIAPI void APIENTRY glCopyTexSubImage1D( GLenum target, GLint level,
  1641.                          GLint xoffset, GLint x, GLint y,
  1642.                          GLsizei width );
  1643.  
  1644.  
  1645. WINGDIAPI void APIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
  1646.                          GLint xoffset, GLint yoffset,
  1647.                          GLint x, GLint y,
  1648.                          GLsizei width, GLsizei height );
  1649.  
  1650.  
  1651.  
  1652.  
  1653. /*
  1654.  * Evaluators
  1655.  */
  1656.  
  1657. WINGDIAPI void APIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,
  1658.                  GLint stride,
  1659.                  GLint order, const GLdouble *points );
  1660. WINGDIAPI void APIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
  1661.                  GLint stride,
  1662.                  GLint order, const GLfloat *points );
  1663.  
  1664. WINGDIAPI void APIENTRY glMap2d( GLenum target,
  1665.              GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
  1666.              GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
  1667.              const GLdouble *points );
  1668. WINGDIAPI void APIENTRY glMap2f( GLenum target,
  1669.              GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
  1670.              GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
  1671.              const GLfloat *points );
  1672.  
  1673. WINGDIAPI void APIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
  1674. WINGDIAPI void APIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
  1675. WINGDIAPI void APIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
  1676.  
  1677. WINGDIAPI void APIENTRY glEvalCoord1d( GLdouble u );
  1678. WINGDIAPI void APIENTRY glEvalCoord1f( GLfloat u );
  1679.  
  1680. WINGDIAPI void APIENTRY glEvalCoord1dv( const GLdouble *u );
  1681. WINGDIAPI void APIENTRY glEvalCoord1fv( const GLfloat *u );
  1682.  
  1683. WINGDIAPI void APIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
  1684. WINGDIAPI void APIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
  1685.  
  1686. WINGDIAPI void APIENTRY glEvalCoord2dv( const GLdouble *u );
  1687. WINGDIAPI void APIENTRY glEvalCoord2fv( const GLfloat *u );
  1688.  
  1689. WINGDIAPI void APIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
  1690. WINGDIAPI void APIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
  1691.  
  1692. WINGDIAPI void APIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
  1693.                      GLint vn, GLdouble v1, GLdouble v2 );
  1694. WINGDIAPI void APIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
  1695.                      GLint vn, GLfloat v1, GLfloat v2 );
  1696.  
  1697. WINGDIAPI void APIENTRY glEvalPoint1( GLint i );
  1698.  
  1699. WINGDIAPI void APIENTRY glEvalPoint2( GLint i, GLint j );
  1700.  
  1701. WINGDIAPI void APIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
  1702.  
  1703. WINGDIAPI void APIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
  1704.  
  1705.  
  1706.  
  1707. /*
  1708.  * Fog
  1709.  */
  1710.  
  1711. WINGDIAPI void APIENTRY glFogf( GLenum pname, GLfloat param );
  1712.  
  1713. WINGDIAPI void APIENTRY glFogi( GLenum pname, GLint param );
  1714.  
  1715. WINGDIAPI void APIENTRY glFogfv( GLenum pname, const GLfloat *params );
  1716.  
  1717. WINGDIAPI void APIENTRY glFogiv( GLenum pname, const GLint *params );
  1718.  
  1719.  
  1720.  
  1721. /*
  1722.  * Selection and Feedback
  1723.  */
  1724.  
  1725. WINGDIAPI void APIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
  1726.  
  1727. WINGDIAPI void APIENTRY glPassThrough( GLfloat token );
  1728.  
  1729. WINGDIAPI void APIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
  1730.  
  1731. WINGDIAPI void APIENTRY glInitNames( void );
  1732.  
  1733. WINGDIAPI void APIENTRY glLoadName( GLuint name );
  1734.  
  1735. WINGDIAPI void APIENTRY glPushName( GLuint name );
  1736.  
  1737. WINGDIAPI void APIENTRY glPopName( void );
  1738.  
  1739.  
  1740.  
  1741. /*
  1742.  * 1.0 Extensions
  1743.  */
  1744.  
  1745. /* GL_EXT_blend_minmax */
  1746. WINGDIAPI void APIENTRY glBlendEquationEXT( GLenum mode );
  1747.  
  1748.  
  1749.  
  1750. /* GL_EXT_blend_color */
  1751. WINGDIAPI void APIENTRY glBlendColorEXT( GLclampf red, GLclampf green,
  1752.                      GLclampf blue, GLclampf alpha );
  1753.  
  1754.  
  1755.  
  1756. /* GL_EXT_polygon_offset */
  1757. WINGDIAPI void APIENTRY glPolygonOffsetEXT( GLfloat factor, GLfloat bias );
  1758.  
  1759.  
  1760.  
  1761. /* GL_EXT_vertex_array */
  1762.  
  1763. WINGDIAPI void APIENTRY glVertexPointerEXT( GLint size, GLenum type,
  1764.                         GLsizei stride,
  1765.                         GLsizei count, const GLvoid *ptr );
  1766.  
  1767. WINGDIAPI void APIENTRY glNormalPointerEXT( GLenum type, GLsizei stride,
  1768.                         GLsizei count, const GLvoid *ptr );
  1769.  
  1770. WINGDIAPI void APIENTRY glColorPointerEXT( GLint size, GLenum type,
  1771.                        GLsizei stride,
  1772.                        GLsizei count, const GLvoid *ptr );
  1773.  
  1774. WINGDIAPI void APIENTRY glIndexPointerEXT( GLenum type, GLsizei stride,
  1775.                        GLsizei count, const GLvoid *ptr );
  1776.  
  1777. WINGDIAPI void APIENTRY glTexCoordPointerEXT( GLint size, GLenum type,
  1778.                           GLsizei stride, GLsizei count,
  1779.                           const GLvoid *ptr );
  1780.  
  1781. WINGDIAPI void APIENTRY glEdgeFlagPointerEXT( GLsizei stride, GLsizei count,
  1782.                           const GLboolean *ptr );
  1783.  
  1784. WINGDIAPI void APIENTRY glGetPointervEXT( GLenum pname, void **params );
  1785.  
  1786. WINGDIAPI void APIENTRY glArrayElementEXT( GLint i );
  1787.  
  1788. WINGDIAPI void APIENTRY glDrawArraysEXT( GLenum mode, GLint first,
  1789.                      GLsizei count );
  1790.  
  1791.  
  1792.  
  1793. /* GL_EXT_texture_object */
  1794.  
  1795. WINGDIAPI void APIENTRY glGenTexturesEXT( GLsizei n, GLuint *textures );
  1796.  
  1797. WINGDIAPI void APIENTRY glDeleteTexturesEXT( GLsizei n,
  1798.                          const GLuint *textures);
  1799.  
  1800. WINGDIAPI void APIENTRY glBindTextureEXT( GLenum target, GLuint texture );
  1801.  
  1802. WINGDIAPI void APIENTRY glPrioritizeTexturesEXT( GLsizei n,
  1803.                          const GLuint *textures,
  1804.                          const GLclampf *priorities );
  1805.  
  1806. WINGDIAPI GLboolean APIENTRY glAreTexturesResidentEXT( GLsizei n,
  1807.                                const GLuint *textures,
  1808.                                GLboolean *residences );
  1809.  
  1810. WINGDIAPI GLboolean APIENTRY glIsTextureEXT( GLuint texture );
  1811.  
  1812.  
  1813.  
  1814. /* GL_EXT_texture3D */
  1815.  
  1816. WINGDIAPI void APIENTRY glTexImage3DEXT( GLenum target, GLint level,
  1817.                      GLenum internalFormat,
  1818.                      GLsizei width, GLsizei height,
  1819.                      GLsizei depth, GLint border,
  1820.                      GLenum format, GLenum type,
  1821.                      const GLvoid *pixels );
  1822.  
  1823. WINGDIAPI void APIENTRY glTexSubImage3DEXT( GLenum target, GLint level,
  1824.                         GLint xoffset, GLint yoffset,
  1825.                         GLint zoffset, GLsizei width,
  1826.                         GLsizei height, GLsizei depth,
  1827.                         GLenum format,
  1828.                         GLenum type, const GLvoid *pixels);
  1829.  
  1830. WINGDIAPI void APIENTRY glCopyTexSubImage3DEXT( GLenum target, GLint level,
  1831.                         GLint xoffset, GLint yoffset,
  1832.                         GLint zoffset, GLint x,
  1833.                         GLint y, GLsizei width,
  1834.                         GLsizei height );
  1835.  
  1836.  
  1837.  
  1838. /* GL_EXT_color_table */
  1839.  
  1840. WINGDIAPI void APIENTRY glColorTableEXT( GLenum target, GLenum internalformat,
  1841.                      GLsizei width, GLenum format,
  1842.                      GLenum type, const GLvoid *table );
  1843.  
  1844. WINGDIAPI void APIENTRY glColorSubTableEXT( GLenum target,
  1845.                         GLsizei start, GLsizei count,
  1846.                         GLenum format, GLenum type,
  1847.                         const GLvoid *data );
  1848.  
  1849. WINGDIAPI void APIENTRY glGetColorTableEXT( GLenum target, GLenum format,
  1850.                         GLenum type, GLvoid *table );
  1851.  
  1852. WINGDIAPI void APIENTRY glGetColorTableParameterfvEXT( GLenum target,
  1853.                                GLenum pname,
  1854.                                GLfloat *params );
  1855.  
  1856. WINGDIAPI void APIENTRY glGetColorTableParameterivEXT( GLenum target,
  1857.                                GLenum pname,
  1858.                                GLint *params );
  1859.  
  1860.  
  1861. /* GL_SGIS_multitexture */
  1862.  
  1863. WINGDIAPI void APIENTRY glMultiTexCoord1dSGIS(GLenum target, GLdouble s);
  1864. WINGDIAPI void APIENTRY glMultiTexCoord1dvSGIS(GLenum target, const GLdouble *v);
  1865. WINGDIAPI void APIENTRY glMultiTexCoord1fSGIS(GLenum target, GLfloat s);
  1866. WINGDIAPI void APIENTRY glMultiTexCoord1fvSGIS(GLenum target, const GLfloat *v);
  1867. WINGDIAPI void APIENTRY glMultiTexCoord1iSGIS(GLenum target, GLint s);
  1868. WINGDIAPI void APIENTRY glMultiTexCoord1ivSGIS(GLenum target, const GLint *v);
  1869. WINGDIAPI void APIENTRY glMultiTexCoord1sSGIS(GLenum target, GLshort s);
  1870. WINGDIAPI void APIENTRY glMultiTexCoord1svSGIS(GLenum target, const GLshort *v);
  1871. WINGDIAPI void APIENTRY glMultiTexCoord2dSGIS(GLenum target, GLdouble s, GLdouble t);
  1872. WINGDIAPI void APIENTRY glMultiTexCoord2dvSGIS(GLenum target, const GLdouble *v);
  1873. WINGDIAPI void APIENTRY glMultiTexCoord2fSGIS(GLenum target, GLfloat s, GLfloat t);
  1874. WINGDIAPI void APIENTRY glMultiTexCoord2fvSGIS(GLenum target, const GLfloat *v);
  1875. WINGDIAPI void APIENTRY glMultiTexCoord2iSGIS(GLenum target, GLint s, GLint t);
  1876. WINGDIAPI void APIENTRY glMultiTexCoord2ivSGIS(GLenum target, const GLint *v);
  1877. WINGDIAPI void APIENTRY glMultiTexCoord2sSGIS(GLenum target, GLshort s, GLshort t);
  1878. WINGDIAPI void APIENTRY glMultiTexCoord2svSGIS(GLenum target, const GLshort *v);
  1879. WINGDIAPI void APIENTRY glMultiTexCoord3dSGIS(GLenum target, GLdouble s, GLdouble t, GLdouble r);
  1880. WINGDIAPI void APIENTRY glMultiTexCoord3dvSGIS(GLenum target, const GLdouble *v);
  1881. WINGDIAPI void APIENTRY glMultiTexCoord3fSGIS(GLenum target, GLfloat s, GLfloat t, GLfloat r);
  1882. WINGDIAPI void APIENTRY glMultiTexCoord3fvSGIS(GLenum target, const GLfloat *v);
  1883. WINGDIAPI void APIENTRY glMultiTexCoord3iSGIS(GLenum target, GLint s, GLint t, GLint r);
  1884. WINGDIAPI void APIENTRY glMultiTexCoord3ivSGIS(GLenum target, const GLint *v);
  1885. WINGDIAPI void APIENTRY glMultiTexCoord3sSGIS(GLenum target, GLshort s, GLshort t, GLshort r);
  1886. WINGDIAPI void APIENTRY glMultiTexCoord3svSGIS(GLenum target, const GLshort *v);
  1887. WINGDIAPI void APIENTRY glMultiTexCoord4dSGIS(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  1888. WINGDIAPI void APIENTRY glMultiTexCoord4dvSGIS(GLenum target, const GLdouble *v);
  1889. WINGDIAPI void APIENTRY glMultiTexCoord4fSGIS(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  1890. WINGDIAPI void APIENTRY glMultiTexCoord4fvSGIS(GLenum target, const GLfloat *v);
  1891. WINGDIAPI void APIENTRY glMultiTexCoord4iSGIS(GLenum target, GLint s, GLint t, GLint r, GLint q);
  1892. WINGDIAPI void APIENTRY glMultiTexCoord4ivSGIS(GLenum target, const GLint *v);
  1893. WINGDIAPI void APIENTRY glMultiTexCoord4sSGIS(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
  1894. WINGDIAPI void APIENTRY glMultiTexCoord4svSGIS(GLenum target, const GLshort *v);
  1895.  
  1896. WINGDIAPI void APIENTRY glMultiTexCoordPointerSGIS(GLenum target, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  1897.  
  1898. WINGDIAPI void APIENTRY glSelectTextureSGIS(GLenum target);
  1899.  
  1900. WINGDIAPI void APIENTRY glSelectTextureCoordSetSGIS(GLenum target);
  1901.  
  1902.  
  1903. /* GL_EXT_multitexture */
  1904.  
  1905. WINGDIAPI void APIENTRY glMultiTexCoord1dEXT(GLenum target, GLdouble s);
  1906. WINGDIAPI void APIENTRY glMultiTexCoord1dvEXT(GLenum target, const GLdouble *v);
  1907. WINGDIAPI void APIENTRY glMultiTexCoord1fEXT(GLenum target, GLfloat s);
  1908. WINGDIAPI void APIENTRY glMultiTexCoord1fvEXT(GLenum target, const GLfloat *v);
  1909. WINGDIAPI void APIENTRY glMultiTexCoord1iEXT(GLenum target, GLint s);
  1910. WINGDIAPI void APIENTRY glMultiTexCoord1ivEXT(GLenum target, const GLint *v);
  1911. WINGDIAPI void APIENTRY glMultiTexCoord1sEXT(GLenum target, GLshort s);
  1912. WINGDIAPI void APIENTRY glMultiTexCoord1svEXT(GLenum target, const GLshort *v);
  1913. WINGDIAPI void APIENTRY glMultiTexCoord2dEXT(GLenum target, GLdouble s, GLdouble t);
  1914. WINGDIAPI void APIENTRY glMultiTexCoord2dvEXT(GLenum target, const GLdouble *v);
  1915. WINGDIAPI void APIENTRY glMultiTexCoord2fEXT(GLenum target, GLfloat s, GLfloat t);
  1916. WINGDIAPI void APIENTRY glMultiTexCoord2fvEXT(GLenum target, const GLfloat *v);
  1917. WINGDIAPI void APIENTRY glMultiTexCoord2iEXT(GLenum target, GLint s, GLint t);
  1918. WINGDIAPI void APIENTRY glMultiTexCoord2ivEXT(GLenum target, const GLint *v);
  1919. WINGDIAPI void APIENTRY glMultiTexCoord2sEXT(GLenum target, GLshort s, GLshort t);
  1920. WINGDIAPI void APIENTRY glMultiTexCoord2svEXT(GLenum target, const GLshort *v);
  1921. WINGDIAPI void APIENTRY glMultiTexCoord3dEXT(GLenum target, GLdouble s, GLdouble t, GLdouble r);
  1922. WINGDIAPI void APIENTRY glMultiTexCoord3dvEXT(GLenum target, const GLdouble *v);
  1923. WINGDIAPI void APIENTRY glMultiTexCoord3fEXT(GLenum target, GLfloat s, GLfloat t, GLfloat r);
  1924. WINGDIAPI void APIENTRY glMultiTexCoord3fvEXT(GLenum target, const GLfloat *v);
  1925. WINGDIAPI void APIENTRY glMultiTexCoord3iEXT(GLenum target, GLint s, GLint t, GLint r);
  1926. WINGDIAPI void APIENTRY glMultiTexCoord3ivEXT(GLenum target, const GLint *v);
  1927. WINGDIAPI void APIENTRY glMultiTexCoord3sEXT(GLenum target, GLshort s, GLshort t, GLshort r);
  1928. WINGDIAPI void APIENTRY glMultiTexCoord3svEXT(GLenum target, const GLshort *v);
  1929. WINGDIAPI void APIENTRY glMultiTexCoord4dEXT(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  1930. WINGDIAPI void APIENTRY glMultiTexCoord4dvEXT(GLenum target, const GLdouble *v);
  1931. WINGDIAPI void APIENTRY glMultiTexCoord4fEXT(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  1932. WINGDIAPI void APIENTRY glMultiTexCoord4fvEXT(GLenum target, const GLfloat *v);
  1933. WINGDIAPI void APIENTRY glMultiTexCoord4iEXT(GLenum target, GLint s, GLint t, GLint r, GLint q);
  1934. WINGDIAPI void APIENTRY glMultiTexCoord4ivEXT(GLenum target, const GLint *v);
  1935. WINGDIAPI void APIENTRY glMultiTexCoord4sEXT(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
  1936. WINGDIAPI void APIENTRY glMultiTexCoord4svEXT(GLenum target, const GLshort *v);
  1937.  
  1938. WINGDIAPI void APIENTRY glInterleavedTextureCoordSetsEXT( GLint factor );
  1939.  
  1940. WINGDIAPI void APIENTRY glSelectTextureEXT( GLenum target );
  1941.  
  1942. WINGDIAPI void APIENTRY glSelectTextureCoordSetEXT( GLenum target );
  1943.  
  1944. WINGDIAPI void APIENTRY glSelectTextureTransformEXT( GLenum target );
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951. /* GL_EXT_point_parameters */
  1952. WINGDIAPI void APIENTRY glPointParameterfEXT( GLenum pname, GLfloat param );
  1953. WINGDIAPI void APIENTRY glPointParameterfvEXT( GLenum pname,
  1954.                            const GLfloat *params );
  1955.  
  1956.  
  1957.  
  1958. /* GL_MESA_window_pos */
  1959.  
  1960. WINGDIAPI void APIENTRY glWindowPos2iMESA( GLint x, GLint y );
  1961. WINGDIAPI void APIENTRY glWindowPos2sMESA( GLshort x, GLshort y );
  1962. WINGDIAPI void APIENTRY glWindowPos2fMESA( GLfloat x, GLfloat y );
  1963. WINGDIAPI void APIENTRY glWindowPos2dMESA( GLdouble x, GLdouble y );
  1964.  
  1965. WINGDIAPI void APIENTRY glWindowPos2ivMESA( const GLint *p );
  1966. WINGDIAPI void APIENTRY glWindowPos2svMESA( const GLshort *p );
  1967. WINGDIAPI void APIENTRY glWindowPos2fvMESA( const GLfloat *p );
  1968. WINGDIAPI void APIENTRY glWindowPos2dvMESA( const GLdouble *p );
  1969.  
  1970. WINGDIAPI void APIENTRY glWindowPos3iMESA( GLint x, GLint y, GLint z );
  1971. WINGDIAPI void APIENTRY glWindowPos3sMESA( GLshort x, GLshort y, GLshort z );
  1972. WINGDIAPI void APIENTRY glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z );
  1973. WINGDIAPI void APIENTRY glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z );
  1974.  
  1975. WINGDIAPI void APIENTRY glWindowPos3ivMESA( const GLint *p );
  1976. WINGDIAPI void APIENTRY glWindowPos3svMESA( const GLshort *p );
  1977. WINGDIAPI void APIENTRY glWindowPos3fvMESA( const GLfloat *p );
  1978. WINGDIAPI void APIENTRY glWindowPos3dvMESA( const GLdouble *p );
  1979.  
  1980. WINGDIAPI void APIENTRY glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w );
  1981. WINGDIAPI void APIENTRY glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w );
  1982. WINGDIAPI void APIENTRY glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  1983. WINGDIAPI void APIENTRY glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  1984.  
  1985. WINGDIAPI void APIENTRY glWindowPos4ivMESA( const GLint *p );
  1986. WINGDIAPI void APIENTRY glWindowPos4svMESA( const GLshort *p );
  1987. WINGDIAPI void APIENTRY glWindowPos4fvMESA( const GLfloat *p );
  1988. WINGDIAPI void APIENTRY glWindowPos4dvMESA( const GLdouble *p );
  1989.  
  1990.  
  1991. /* GL_MESA_resize_buffers */
  1992.  
  1993. WINGDIAPI void APIENTRY glResizeBuffersMESA( void );
  1994.  
  1995.  
  1996. /* 1.2 functions */
  1997. WINGDIAPI void APIENTRY glDrawRangeElements( GLenum mode, GLuint start,
  1998.     GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
  1999.  
  2000. WINGDIAPI void APIENTRY glTexImage3D( GLenum target, GLint level,
  2001.                       GLenum internalFormat,
  2002.                       GLsizei width, GLsizei height,
  2003.                       GLsizei depth, GLint border,
  2004.                       GLenum format, GLenum type,
  2005.                       const GLvoid *pixels );
  2006.  
  2007. WINGDIAPI void APIENTRY glTexSubImage3D( GLenum target, GLint level,
  2008.                      GLint xoffset, GLint yoffset,
  2009.                      GLint zoffset, GLsizei width,
  2010.                      GLsizei height, GLsizei depth,
  2011.                      GLenum format,
  2012.                      GLenum type, const GLvoid *pixels);
  2013.  
  2014. WINGDIAPI void APIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
  2015.                          GLint xoffset, GLint yoffset,
  2016.                          GLint zoffset, GLint x,
  2017.                          GLint y, GLsizei width,
  2018.                          GLsizei height );
  2019.  
  2020. #if defined(__VBCC__) && (defined(GL_INLINE) || defined(__PPC__))
  2021. #include <proto/gl.h>
  2022. #endif
  2023.  
  2024. #endif /* __STORM__ && __PPC__ */
  2025.  
  2026. #if defined(__BEOS__) || defined(__QUICKDRAW__)
  2027. #pragma export off
  2028. #endif
  2029.  
  2030.  
  2031. /*
  2032.  * Compile-time tests for extensions:
  2033.  */
  2034. #define GL_EXT_blend_color              1
  2035. #define GL_EXT_blend_logic_op           1
  2036. #define GL_EXT_blend_minmax             1
  2037. #define GL_EXT_blend_subtract           1
  2038. #define GL_EXT_polygon_offset           1
  2039. #define GL_EXT_vertex_array             1
  2040. #define GL_EXT_texture_object           1
  2041. #define GL_EXT_texture3D                1
  2042. #define GL_EXT_paletted_texture         1
  2043. #define GL_EXT_shared_texture_palette   1
  2044. #define GL_EXT_point_parameters         1
  2045. #define GL_EXT_rescale_normal           1
  2046. #define GL_EXT_abgr                     1
  2047. #define GL_EXT_multitexture             1
  2048. #define GL_MESA_window_pos              1
  2049. #define GL_MESA_resize_buffers          1
  2050. #define GL_SGIS_multitexture            1
  2051. #define GL_SGIS_texture_edge_clamp      1
  2052.  
  2053.  
  2054. #ifdef macintosh
  2055.     #pragma enumsalwaysint reset
  2056.     #if PRAGMA_IMPORT_SUPPORTED
  2057.     #pragma import off
  2058.     #endif
  2059. #endif
  2060.  
  2061.  
  2062. #ifdef __cplusplus
  2063. }
  2064. #endif
  2065.  
  2066. #endif
  2067.